Reakce na události Azure Mapy pomocí Event Gridu
Azure Mapy integruje se službou Azure Event Grid, aby uživatelé mohli odesílat oznámení událostí do jiných služeb a aktivovat podřízené procesy. Účelem tohoto článku je pomoct nakonfigurovat obchodní aplikace tak, aby naslouchaly událostem Azure Mapy. To umožňuje uživatelům reagovat na kritické události spolehlivým, škálovatelným a bezpečným způsobem. Uživatelé můžou například vytvořit aplikaci pro aktualizaci databáze, vytvoření lístku a doručení e-mailového oznámení při každém vstupu zařízení do geografické zóny.
Azure Event Grid je plně spravovaná služba směrování událostí, která používá model publikování a odběru. Event Grid má integrovanou podporu pro služby Azure, jako jsou Azure Functions a Azure Logic Apps. Pomocí webhooků může doručovat upozornění událostí službám mimo Azure. Úplný seznam obslužných rutin událostí, které Event Grid podporuje, najdete v úvodu do služby Azure Event Grid.
Typy událostí Azure Mapy
Event Grid používá odběry událostí ke směrování zpráv událostí odběratelům. Účet Azure Mapy generuje následující typy událostí:
Typ události | Popis |
---|---|
Microsoft. Mapy. GeofenceEntered | Vyvolána při přesunu přijatých souřadnic mimo danou geografickoufenci do |
Microsoft. Mapy. GeofenceExited | Vyvolána při přesunu přijatých souřadnic z dané geografické zóny na vnější |
Microsoft. Mapy. GeofenceResult | Vyvolá se pokaždé, když geofencingový dotaz vrátí výsledek bez ohledu na stav. |
Schéma událostí
Následující příklad ukazuje schéma pro GeofenceResult:
{
"id":"451675de-a67d-4929-876c-5c2bf0b2c000",
"topic":"/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
}
],
"expiredGeofenceGeometryId":[
],
"invalidPeriodGeofenceGeometryId":[
]
},
"eventType":"Microsoft.Maps.GeofenceResult",
"eventTime":"2018-11-08T00:52:08.0954283Z",
"metadataVersion":"1",
"dataVersion":"1.0"
}
Tipy pro využívání událostí
Aplikace, které zpracovávají události geografické zóny Azure Mapy, by měly dodržovat několik doporučených postupů:
- Nakonfigurujte několik odběrů pro směrování událostí do stejné obslužné rutiny události. Není důležité předpokládat, že události pocházejí z určitého zdroje. Vždy zkontrolujte téma zprávy a ujistěte se, že zpráva pochází ze zdroje, který očekáváte.
X-Correlation-id
Pomocí pole v hlavičce odpovědi zjistěte, jestli jsou vaše informace o objektech aktuální. Zprávy se můžou doručovat v odlišném pořadí nebo se zpožděním.- Když se v rozhraní GEOfence API volá požadavek GET nebo POST s parametrem režimu nastaveným na
EnterAndExit
, vygeneruje se událost Enter nebo Exit pro každou geometrii v geografické zóny, pro kterou se stav změnil z předchozího volání rozhraní GEOFENCE API.
Další kroky
Podrobnosti o všech událostech podporovaných službou Azure Mapy a schématu najdete v tématu Azure Mapy jako zdroj služby Event Grid.
Další informace o tom, jak pomocí geofencingu řídit provoz na stavebním místě, najdete tady: