Microsoft Teams

Выходные данные в ArcGIS Velocity позволяют отправлять Адаптивные карты в чаты или каналы в Microsoft Teams. Адаптивные карты могут содержать текст, графику и кнопки, обеспечивая интерактивный и увлекательный механизм передачи информации.С помощью Velocity векторные данные могут быть включены в Адаптивную карту, размещенную в Microsoft Teams. Это механизм эффективной передачи информации пользователям различных систем.

Чтобы использовать этот тип выходных данных, необходимо сначала сгенерировать URL-адрес вебхука в Microsoft Teams. Затем URL-адрес вебхука используется для настройки выходных данных Microsoft Teams в Velocity.

Пример

Ниже приводится пример использования выходных данных Microsoft Teams:

Специалист настраивает аналитику в реальном времени для публикации Адаптивной карты на канале Microsoft Teams в случае появления предупреждения об опасных погодных условиях, которые затрагивают территорию обслуживания организации.

Примечания по использованию

При работе с выходными данными Microsoft Teams учитывайте следующее:

  • URL-адрес вебхука Microsoft Teams должен быть настроен в Microsoft Teams.
  • При отправке JSON в теле сообщения его нужно отформатировать в формате Microsoft Teams Адаптивной карты. Примеры JSON приведены в разделе ниже.

Примеры JSON Адаптивной карты Microsoft Teams

При форматировании JSON в теле сообщения оберните выходной JSON функцией Text() Arcade, чтобы правильно отформатировать JSON. JSON должен быть в формате Адаптивной карты Microsoft Teams со следующими свойствами:

  • Поле type должно быть задано на message.
  • Массив attachments содержит набор объектов карточки.
  • Для поля contentType должен быть задан тип Adaptive Card.
  • Объект content - это карточка, отформатированная в JSON.

В примерах ниже показаны выражения Arcade, настроенные для вывода Адаптивных карт в формате JSON. Полученные Адаптивные карты публикуются в чате или канале, связанном с URL-адресом вебхука Microsoft Teams.

В приведенном ниже примере создается базовая Адаптивная карта, которая отображает информацию о судне, включая его название и идентификатор.

Пример 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 создается следующее сообщение, которое отображает информацию о судне, включая его название и идентификатор.

Информация о судне

В следующем примере создается Адаптивная карта с изображением и кнопкой.

Пример 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:

ПараметрОписаниеТип данных

URL-адрес вебхука Microsoft Teams

(Обязательный)

URL-адрес входящего вебхука, созданного в Microsoft Teams.

Строка

Текст POST

(Обязательный)

Выражение JSON Arcade. JSON должен быть отформатирован с использованием формата Microsoft Teams Adaptive Card и должен быть заключен в выражение Text() Arcade.

Выражение Arcade

Дополнительное ведение журнала

(Дополнительный)

При необходимости вы можете включить ведение журнала запросов и ответов HTTP, созданных Velocity.

Примечание:

Этот параметр следует включать только в целях устранения неполадок и отключать сразу после завершения устранения неполадок. После включения запустите аналитику, и журналы уровня отладки будут доступны на странице журналов аналитики. При необходимости обратитесь в Esri TechnicalПоддержка за помощью в устранении неполадок.

Boolean

Советы и ограничения

Ниже приведены соображения и ограничения при использовании выходных данных:

  • Важно понимать скорость передачи данных. Каждая запись, отправленная в эти выходные данные, генерирует отдельный запрос, и если в секунду выполняется более четырех запросов, клиентское соединение может быть ограничено. Лучше всего использовать эти выходные данные для инцидентов, которые ожидаются нечасто.
  • Важно понимать посылаемое сообщение. Текущий предельный размер сообщения составляет 28 КБ. Если размер сообщения превысит этот предел, вы получите сообщение об ошибке.

Более подробную информацию см. в разделе Создание входящих вебхуков.