Поделиться через


Azure Maps в качестве источника Сетки событий

В этой статье описаны свойства и схема для событий Azure Maps. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure". Здесь также приводится список кратких руководств и учебных пособий по использованию Azure Maps в качестве источника событий.

Доступные типы событий

Учетная запись Azure Maps выводит следующие типы событий.

Тип события Description
Microsoft.Maps.GeofenceEntered Создается, когда полученные координаты переходят из заданной геозоны наружу.
Microsoft.Maps.GeofenceExited Создается, когда полученные координаты переходят из заданной геозоны наружу
Microsoft.Maps.GeofenceResult Создается каждый раз, когда запрос геозоны возвращает результат с любым состоянием.

Примеры событий

В следующем примере показана схема события GeofenceEntered.

{   
   "id":"7f8446e2-1ac7-4234-8425-303726ea3981", 
   "source":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", 
   "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", 
   "data":{   
      "geometries":[   
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"2", 
            "distance":-999.0, 
            "nearestLat":47.618786, 
            "nearestLon":-122.132151 
         } 
      ], 
      "expiredGeofenceGeometryId":[   
      ], 
      "invalidPeriodGeofenceGeometryId":[   
      ] 
   }, 
   "type":"Microsoft.Maps.GeofenceEntered", 
   "time":"2018-11-08T00:54:17.6408601Z", 
   "specversion":"1.0" 
}

В следующем примере показана схема для GeofenceResult.

{   
   "id":"451675de-a67d-4929-876c-5c2bf0b2c000", 
   "source":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", 
   "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", 
   "data":{   
      "geometries":[   
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"1", 
            "distance":999.0, 
            "nearestLat":47.609833, 
            "nearestLon":-122.148274 
         }, 
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"2", 
            "distance":999.0, 
            "nearestLat":47.621954, 
            "nearestLon":-122.131841 
         } 
      ], 
      "expiredGeofenceGeometryId":[   
      ], 
      "invalidPeriodGeofenceGeometryId":[   
      ] 
   }, 
   "type":"Microsoft.Maps.GeofenceResult", 
   "time":"2018-11-08T00:52:08.0954283Z", 
   "specversion":"1.0" 
}

Свойства событий

Событие содержит следующие высокоуровневые данные:

Свойство Type Описание:
source строка Полный путь к ресурсу источника событий. Это поле защищено от записи. Это значение предоставляет Сетка событий.
subject строка Определенный издателем путь к субъекту события.
type строка Один из зарегистрированных типов событий для этого источника событий.
time строка Время создания события с учетом времени поставщика в формате UTC.
id строка Уникальный идентификатор события.
data объект Географическое зонирование данных события.
specversion строка Версия спецификации схемы CloudEvents.

Объект данных имеет следующие свойства:

Свойство Type Описание:
apiCategory строка Категория API для события.
apiName строка Имя API для события.
issues объект Выводит список проблем, обнаруженных при обработке. Если выводится список проблем, в ответе не возвращаются геометрические объекты.
responseCode number Код HTTP-ответа
geometries объект Перечисляет геометрические объекты границ, которые содержат координаты позиции или перекрытие searchBuffer вокруг этой позиции.

Объект error возвращается, если в API Maps произошла ошибка. Этот объект имеет следующие свойства.

Свойство Type Описание
error ErrorDetails Этот объект возвращается, если в API Maps произошла ошибка.

Объект ErrorDetails возвращается, если в API Maps произошла ошибка. Этот объект имеет следующие свойства.

Свойство Type Описание:
code строка Код состояния HTTP.
message строка Понятное текстовое описание ошибки, если оно доступно.
innererror InnerError Объект, со сведениями службы об ошибке, если они доступны.

Объект InnerError содержит сведения службы об ошибке, если они доступны. Этот объект имеет следующие свойства.

Свойство Type Описание:
code строка Сообщение об ошибке.

Объект геометрии содержит идентификаторы геометрии геозон, истекшие относительно времени пользователя в запросе. Объект geometries содержит геометрические объекты со следующими свойствами.

Свойство Type Описание:
deviceid строка Идентификатор устройства.
distance строка

Расстояние от точки с указанными координатами до ближайшей границы геозоны. Положительный результат означает, что координаты выходят за пределы геозоны. Если координаты выходят за пределы геозоны и расстояние до ближайшей границы превышает размер значения searchBuffer, возвращается значение 999. Отрицательный результат означает, что координаты находятся в пределах геозоны. Если координаты находятся в пределах многоугольника и расстояние до ближайшей границы превышает размер значения searchBuffer, возвращается значение –999. Значение 999 означает, что координата находится за пределами геозоны. Значение -999 означает, что координата находится в пределах геозоны.

geometryid строка Уникальный идентификатор, который определяет геометрию геозоны.
nearestlat number Широта ближайшей точки геометрии.
nearestlon number Долгота ближайшей точки геометрии.
udId строка Уникальный идентификатор, который служба возвращает пользователю при передаче геозоны. Он не будет включаться в запрос POST к API географического зонирования.

Объект данных имеет следующие свойства:

Свойство Type Описание
expiredGeofenceGeometryId string[] Список идентификаторов геометрических объектов геозоны, срок действия которых истек относительно времени в запросе пользователя.
geometries geometries[] Перечисляет геометрические объекты границ, которые содержат координаты позиции или перекрытие searchBuffer вокруг этой позиции.
invalidPeriodGeofenceGeometryId string[] Список идентификаторов геометрических объектов геозоны, в период действия которых не попадает время, указанное в запросе пользователя.
isEventPublished boolean Имеет значение truе, если хотя бы одно событие опубликовано в подписчике событий Azure Maps, или false в противном случае.

Практические руководства и другие учебные материалы

Заголовок Description
Реагирование на события Azure Maps c помощью Сетки событий Общие сведения об интеграции Azure Maps со службой "Сетка событий".
Руководство: настройка геозоны Это руководство поможет выполнить основные действия по настройке геозоны с помощью Azure Maps. Используйте Сетку событий Azure для выполнения потоковой передачи результатов геозоны и на их основе создавайте уведомления.

Следующие шаги