「SORACOM Harvest Files にアップロード (ファイル作成およびファイル更新) した画像ファイルを、Webhook アクション を使用して Microsoft Teams のチャネルに通知する」という SORACOM Flux アプリ (以下、Flux アプリ) を作成します。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM アカウント (オペレーター) を作成する
SORACOM アカウント (オペレーター) を作成します。また、支払い方法の登録も必要です。詳しくは、STEP 1: SORACOM アカウント (オペレーター) を作成する を参照してください。
(2) Microsoft Power Automate、Microsoft Teams のライセンス、アカウントを用意する
詳しくは、以下のページを参照してください。
(3) Microsoft Teams で通知先のチャネルを用意する
通知先の Microsoft Teams のチャネルを用意してください。詳しくは、Microsoft Teamsで標準、プライベート、または共有チャネルを作成する を参照してください。
準備完了ステップ 1: Microsoft Power Automate でワークフローを作成する
Microsoft Power Automate のコンソール にログインします。
→ の順にクリックします。
をクリックします。
を入力し、 で「Teams Webhook 要求を受信したとき」を選択して、 をクリックします。
「Teams Webhook 要求を受信したとき」の
をクリックします。に「チャットやチャネルにカードを投稿する」を入力し、 をクリックします。
Microsoft Teams にサインインしてください
Microsoft Teams にサインインしていない場合は、サインインして Microsoft Teams への接続を作成します。
をクリックして、画面の指示に従って操作してください。「チャットやチャネルにカードを投稿する」で、以下の項目を設定します。
項目 説明 「フローボット」を選択します。 「チャネル」を選択します。 メッセージの投稿先のチームを指定します。 メッセージの投稿先のチャネルを指定します。 続けて、
を設定します。アダプティブカードについて詳しくは、アダプティブ カードを初めて作成する を参照してください。
の入力欄をクリックして、 をクリックします。
をクリックします。
をクリックします。
で「誰でも」を選択して、 をクリックします。
HTTP URL が発行されます。
の をクリックして、HTTP URL をコピーします。
この HTTP URL をこれ以降、${http_url} と表記します。例:
https://xxxx-xx.japaneast.logic.azure.com:443/workflows/xxxxxxxxx...(省略)...
もう一度 HTTP URL を確認するには
もう一度 HTTP URL を確認する手順は以下のとおりです。
→ → 作成したクラウドフローの順にクリックします。
をクリックします。
をクリックします。
ステップ 2: Flux アプリを作成する
ユーザーコンソールにログイン し、Flux アプリを作成するカバレッジタイプを選択します。
たとえば、グローバルカバレッジの Harvest Files に静止画をアップロードしたときに Flux アプリが実行されるようにする場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
をクリックします。
以下の項目を設定します。
項目 説明 Flux アプリの名前を入力します。 Flux アプリの概要を入力します。 をクリックします。
Flux アプリが作成され、SORACOM Flux Studio の
タブが表示されます。
ステップ 3: SORACOM Harvest Files イベントソースと連結するチャネルを作成する
SORACOM Flux Studio の
タブで、 をクリックします。「新しいチャネルを作成」画面が表示されます。
→ の順にクリックします。
この Flux アプリでは、Harvest Files にアップロード (ファイル作成または更新) したときに、メッセージを次のチャネルに送信するように設定します。
SORACOM Harvest Files イベントソースから、次のチャネルに送信されるメッセージについて詳しくは、SORACOM Harvest Files イベントソース を参照してください。
以下の項目を設定します。
項目 説明 チャネルの名前を入力します。 チャネルの概要を入力します。例: SORACOM Harvest Files にファイルがアップロードされたときにイベントメッセージを送信します。
Harvest Files でどのような変化が起きたときに、このチャネルにメッセージを送信するか、という条件を設定します。
項目 説明 この条件の有効/無効を設定します。「有効」にしてください。 Harvest Files のファイルパスを入力します。ここで指定したパスと前方一致したファイルがイベントの対象です。ここでは、「/flux」を入力します。 ファイルの変化の種類を選択します。ここでは、アップロード (ファイル作成または更新) を対象にするために、
と にチェックを入れます。- : ファイルが新規にアップロードされた。
- : 既存のファイルと同名のファイルがアップロードされた。
- : ファイルが削除された。
をクリックします。
イベントソースに連結したチャネルが作成され、チャネルの詳細画面が表示されます。
Esc キーを押すか、
(閉じる) をクリックします。SORACOM Flux Studio の
タブに戻ります。
ステップ 4: Webhook アクションを作成する
ステップ 3: SORACOM Harvest Files イベントソースと連結するチャネルを作成する で作成したチャネルをクリックします。
→ の順にクリックします。
「新しいアクションを作成」画面が表示されます。
→ の順にクリックします。
「新しいアクションを作成: Webhook」画面が表示されます。
以下の項目を設定します。
項目 説明 Teams 通知の名前を入力します。 Teams 通知の概要を入力します。 Webhook アクションを有効化する場合は「有効」にします。 Webhook アクションの実行条件を設定します。ここでは、すべての条件で実行するために、 を空欄のままにします。続けて、以下の項目を設定します。
項目 説明 Webhook の HTTP メソッドを選択します。ここでは「POST」を選択します。 Webhook の送信先の URL (Microsoft Power Automate で発行した HTTP URL) を設定します。ここでは、${http_url} を入力します。例: https://xxxx-xx.japaneast.logic.azure.com:443/workflows/xxxxxxxxx...(省略)...
「なし」を選択します。 Webhook の HTTP リクエストの HTTP ヘッダーを設定します。ここでは、 で をクリックすると、content-type
とapplication/json
が自動的に入力されます。をクリックして、Webhook の HTTP リクエストの HTTP ボディを設定します。ここでは、以下の内容を入力します。
{ "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "contentUrl": null, "content": { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "ファイル ${event.payload.eventType}", "size": "Large", "wrap": true, "style": "heading" }, { "type": "TextBlock", "text": "パス: ${event.payload.path}", "size": "Medium", "weight": "Lighter", "wrap": true }, { "type": "ImageSet", "images": [ { "type": "Image", "url": "${event.payload.presignedUrls.get}", "altText": "cats" } ] } ] } } ] }
フォーマットの詳細は、アダプティブ カード を参照してください。
"url": "${event.payload.presignedUrls.get}"
で、Harvest Files に作成または更新された画像ファイルの URL を指定しています。アクションで指定できる変数は 入力できる変数、演算子、関数について を参照してください。Webhook アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。
ここでは、
を「無効」のままにします。をクリックします。
Microsoft Teams のチャネルにメッセージを送信する Webhook アクションが作成され、チャネルの詳細画面の
タブに戻ります。
動作確認
画像ファイルを Harvest Files にアップロードする
ここまでに指定した条件を満たすように、画像ファイルを Harvest Files の「/flux」で始まるパスにアップロードします。Harvest Files にファイルをアップロードする手順については、SORACOM Harvest Files にファイルをアップロードする を参照してください。
Microsoft Teams に通知が届いていることを確認する
指定した Microsoft Teams のチャネルに、画像を含むメッセージ (アダプティブカード) が届いていることを確認してください。
Microsoft Teams にアクセスします。
→ チーム → チャネルの順にクリックします。
画像を含むメッセージ (アダプティブカード) が表示されます。
Flux アプリの実行履歴を確認する
SORACOM Flux Studio の
タブでも、実行履歴を確認できます。ユーザーコンソールにログイン し、Flux アプリを作成したカバレッジタイプを選択します。
たとえば、グローバルカバレッジに Flux アプリを作成した場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
作成した Flux アプリをクリックします。
をクリックします。
チャネルごとに、実行履歴 (ログ) を参照してください。
、 、そのチャネルから実行されたアクションの 、 が表示されます。詳しくは、