Power Platform のコネクタって何?

に公開

はじめに

ごきげんよう、百合宮桜(Miyu)です(*'▽')
突然ですが、コネクタって何? どういう仕組みなの? と聞かれて、説明できますか?

Power Automate をよく利用される方なら トリガーやアクションを定義しているモノ

コネクタで定義されるアクション

Power Apps をよく利用される方なら データの追加で追加すると、そのデータ専用の関数が使えるようになるナニカ

Power Apps でのコネクタ利用シーン

というようなイメージが強いかもしれません。
本稿では コネクタとは何かどんな役割があるのか を簡単に説明します。

コネクタとは何か?

API に関する知識がない 人でも フローやアプリから 簡単に他のサービスへの入出力ができる ようにする仕組みです。

以下の2種類に分けられます。

  • 事前定義済みコネクタ
    • Microsoft やパートナー企業などが作った全世界で利用できるコネクタ
    • 💎 マークがついているコネクタは Premium ライセンスが必須
  • カスタムコネクタ
    • 自分または同一テナントのユーザーが作ったオリジナルのコネクタ
    • Premium ライセンスが必須

細かい話はここではしません。本稿でのコネクタとは 事前定義済みコネクタ のことを表すということだけ把握してください。

どんな役割があるの?

アプリやフローでは他のサービスとのやり取りの窓口として API というものを利用しています。
API を利用する為には以下の2つを伝える必要があります。

  • 認証(私はこの API にアクセスできる権限があるという証明)
  • やりたい処理(例 Teams でフローボットとして○○さんにメッセージを入れたい)

しかし API のルールに則って人間がこれらを書く為には API や認証 に対する 深い理解 が不可欠で、市民開発者にとってはハードルが高すぎます。
このハードルを下げるためにコネクタの役割は以下4つの役割を持ちます。

  • 市民開発者が必要な情報を漏れなく入力できる画面を表示すること
  • Microsoft 365 アカウントを利用して、サインインだけで認証できるようにすること
  • 上記処理で入力されたデータを API が理解できる形式に変換すること
  • API から返されたデータを人間が理解できる形式に変換すること

Power Automate でTeams にメッセージを投稿するフローのアクション設定~データ送信までだと下図のようなイメージになります。

コネクタがフローの入力を変換する流れ

コネクタで API が管理するすべての処理を賄いきれない

API には様々なデータのやり取りを想定して作られています。しかしコネクタはそのすべてに対してアプローチできる訳ではなく、コネクタ側で想定されたやり取りだけに絞られます。つまり API では想定されているが、コネクタでは想定されていないという処理があります。

このような処理を行うためには API に直接アプローチするコネクタを利用する必要があります。API に直接アプローチするタイプのコネクタとアクションは以下の通りです。

  • Http コネクタ
  • Microsoft ツールの「 Http 要求を送信します」アクション

これらのコネクタに関してはアプリやフローの開発者自身がAPI のルールに則って、URI を書いたり、認証を設定する必要があります。
特に Http コネクタでの実装は日本マイクロソフトさんのサポートブログにもあるように、Microsoft Entra ID 側での認証設定が必要で実装ハードルが非常に高いです。

https://jpdynamicscrm.github.io/blog/powerautomate/Graph-API/

これらのコネクタを利用する時は 実装の難易度が飛躍的に上がる ということを強く認識し、関係者全員がこのリスクを正しく認識していることを確認してから実装するようにしてください。

おわりに

本稿では Power Platform におけるコネクタについて整理しました。
コネクタを一言で表すと
API の存在を意識せず、扱えるようにする仕組み
です(*'▽')

この理解があると

  • Power Platform が非IT職種におすすめなのか?
  • 実装難易度を下げるためにはどうすれば良いのか?

といった点が一気に分かりやすくなると思います。
考えるきっかけにして頂けると幸いです。ごきげんよう💛

Discussion