Microsoft Teams

ArcGIS Velocity の Microsoft Teams 出力を使用すると、Microsoft Teams のチャットまたはチャンネルにアダプティブ カードを送信できます。アダプティブ カードにはテキスト、グラフィックス、ボタンを含めることができ、情報を伝えるためのインタラクティブで魅力的なメカニズムを提供します。Velocity を使用すると、Microsoft Teams に投稿されたアダプティブ カードにフィーチャ データを含めることができます。これは、異なるシステムを使用するユーザーに情報を効果的に伝えるメカニズムです。

この出力タイプを使用するには、最初に Microsoft Teams で Webhook URL を生成する必要があります。 次に、Webhook URL を使用して、Velocity で Microsoft Teams 出力を構成します。

次に、Microsoft Teams 出力の使用例を示します。

アナリストは、組織のサービス対象地域と交差する悪天候の警報が発令された場合に、Microsoft Teams チャンネルにアダプティブ カードを投稿するリアルタイム解析を構成するとします。

使用上の注意

Microsoft Teams 出力を使用する際は、以下に注意してください。

  • Microsoft Teams Webhook URL は、Microsoft Teams で構成する必要があります。
  • リクエストの本文で JSON を送信する際は、Microsoft Teams アダプティブ カード形式に書式設定する必要があります。 JSON の例については、以下のセクションをご参照ください。

Microsoft Teams アダプティブ カードの JSON の例

JSON のリクエストの本文を書式設定する際は、JSON の書式を適切に設定するために、出力 JSON を Text() Arcade 関数で囲みます。 JSON は、次のプロパティを持つ Microsoft Teams アダプティブ カード形式である必要があります。

  • type フィールドは message に設定する必要があります。
  • attachments 配列にはカード オブジェクトのセットが含まれています。
  • contentType フィールドは Adaptive Card タイプに設定する必要があります。
  • content オブジェクトは JSON 形式のカードです。

以下の例は、JSON 形式でアダプティブ カードを出力するように構成された Arcade 式を示しています。 生成されたアダプティブ カードは、Microsoft Teams Webhook URL に関連付けられたチャットまたはチャンネルに投稿されます。

以下の例では、船舶名と ID を含む船舶情報を表示する基本的なアダプティブ カードを作成します。

例 1 - 基本的なアダプティブ カード

 
 
// Output is wrapped in Text() 
Text({ 
    //type is set to "message":  
    "type":"message",  
    //attachments contains an array of card objects: 
    "attachments":[  
    { 
        //contentType is set to "application/vnd.microsoft.card.adaptive": 
        "contentType":"application/vnd.microsoft.card.adaptive",  
        "contentUrl":null, 
        //content is the Adaptive Card formatted in JSON 
        "content":{  
        "type": "AdaptiveCard", 
        "speak": "Vessel Information", 
        "version": "1.5", 
        "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", 
        "body": [  
            { 
               "type": "TextBlock", 
                "text": "Vessel Information", 
                "wrap": true, 
                "style": "heading", 
                "color": "Good" 
            }, 
            { 
                "type": "FactSet", 
                "facts": [ 
                    { 
                        "title": "Vessel Name", 
                        "value": $feature.name 
                    }, 
                    { 
                        "title": "Vessel ID", 
                        "value": $feature.num 
                    } 
                ] 
            }] 
        } 
    }] 
})

例 1 では、船舶名と ID を含む船舶情報を表示する次のメッセージを作成します。

船舶情報

次の例では、画像とボタンを含むアダプティブ カードを作成します。

例 2 - 画像とボタンを含むアダプティブ カード

 
 
// Output is wrapped in Text() 
Text({ 
    //type is set to "message":  
    "type":"message",  
    //attachments contains an array of card objects: 
    "attachments":[  
    { 
        //contentType is set to "application/vnd.microsoft.card.adaptive": 
        "contentType":"application/vnd.microsoft.card.adaptive",  
        "contentUrl":null, 
        //content is the Adaptive Card formatted in JSON 
        "content":{ 
            "type": "AdaptiveCard", 
            "speak": "New vessel detected", 
            "version": "1.5", 
            "body": [ 
                { 
                    "type": "TextBlock", 
                    "text": "New vessel detected at " + $feature.ts, 
                    "wrap": true, 
                    "size": "Large", 
                    "weight": "Bolder", 
                    "color": "Attention" 
                }, 
                { 
                    "type": "ColumnSet", 
                    "columns": [ 
                        { 
                            "type": "Column", 
                            "width": "auto", 
	                           "items": [ 
                                { 
                                    "type": "Image", 
                                    "url": "https://www.esri.com/content/dam/esrisites/en-us/common/icons/product-logos/Analytics_for_IoT_220.png",
                                    "width": "24px", 
                                    "height": "24px", 
                                    "style": "Person", 
                                    "altText": "ArcGIS Velocity" 
                                } 
                           ], 
                            "verticalContentAlignment": "Center" 
                        }, 
                        { 
                            "type": "Column", 
                            "width": "stretch", 
                            "items": [ 
                                { 
                                    "type": "TextBlock", 
                                    "text": "ArcGIS Velocity ", 
	                                   "wrap": true 
                                } 
                            ], 
                            "spacing": "Small", 
                            "verticalContentAlignment": "Center" 
                        } 
                    ] 
                }, 
                { 
                    "type": "TextBlock", 
                    "targetWidth": "AtLeast:Narrow", 
                    "text": "Vessel Name " + $feature.name + ", traveling at " + $feature.speed + " miles per hour, was detected entering the service territory.\n \nClick the link below to see additional information.", 
                    "wrap": true 
                }, 
                { 
                    "type": "ActionSet", 
                    "actions": [ 
                        { 
                            "type": "Action.OpenUrl", 
                            "title": "Open", 
                            "url": "https://www.esri.com/en-us/arcgis/products/arcgis-velocity/overview" 
                        } 
                    ] 
                } 
            ], 
            "$schema": "https://adaptivecards.io/schemas/adaptive-card.json" 
        } 
    }] 
})

例 2 では、新たに検出された船舶に関して、船舶名、日時、詳細情報を表示するためのボタンを含む次のメッセージを作成します。

Teams で生成された新しい船舶メッセージ

パラメーター

次に、Microsoft Teams 出力のパラメーターを示します。

パラメーター説明データ タイプ

Microsoft Teams Webhook URL

(必須)

Microsoft Teams で作成された受信用の Webhook URL。

String

POST body

(必須)

JSON Arcade 式。 JSON を Microsoft Teams アダプティブ カード形式を使用して書式設定し、Text() Arcade 式で囲む必要があります。

Arcade

その他のログ

(オプション)

必要に応じて、Velocity が生成した未処理の HTTP リクエストと応答のログ出力を有効にすることができます。

注意:

このパラメーターは、トラブルシューティングの目的でのみ有効にし、トラブルシューティングが完了したら無効にする必要があります。 有効にした後は、解析を開始すると、デバッグ レベルのログが解析ログ ページで使用できるようになります。 トラブルシューティングについてサポートが必要な場合は、Esri テクニカル サポート にお問い合わせください。

Boolean

検討事項および制限事項

この出力を使用する際の検討事項と制限事項を以下に示します。

  • データの速度を理解することが重要です。 この出力に送信された各レコードは個別のリクエストを生成しますが、1 秒間に 4 回を超えるリクエストが行われた場合、クライアント接続が制限されることがあります。 発生頻度が低いことが予想されるインシデントにこの出力を使用することをおすすめします。
  • 送信されているメッセージを理解することが重要です。 現在のメッセージ サイズ制限は 28 KB です。 メッセージ サイズがこの制限を超えると、エラーが発生します。

詳細については、「受信用の Webhook の作成」をご参照ください。