React till Azure Kartor händelser med hjälp av Event Grid
Azure Kartor integreras med Azure Event Grid, så att användarna kan skicka händelsemeddelanden till andra tjänster och utlösa underordnade processer. Syftet med den här artikeln är att hjälpa dig att konfigurera dina affärsprogram så att de lyssnar på Azure Kartor händelser. På så sätt kan användarna reagera på kritiska händelser på ett tillförlitligt, skalbart och säkert sätt. Användare kan till exempel skapa ett program för att uppdatera en databas, skapa ett ärende och leverera ett e-postmeddelande varje gång en enhet går in i en geofence.
Azure Event Grid är en fullständigt hanterad tjänst för händelsedirigering som använder en publicera-prenumerera-modell. Event Grid har inbyggt stöd för Azure-tjänster som Azure Functions och Azure Logic Apps. Den kan leverera händelseaviseringar till icke-Azure-tjänster med hjälp av webhooks. En fullständig lista över de händelsehanterare som Event Grid stöder finns i En introduktion till Azure Event Grid.

Typer Kartor Azure-händelser
Event Grid använder händelseprenumerationer för att dirigera händelsemeddelanden till prenumeranter. Ett Azure Kartor-konto ger följande händelsetyper:
| Händelsetyp | Beskrivning |
|---|---|
| Microsoft. Kartor. GeofenceEntered | Upphöjt när mottagna koordinater har flyttats från utanför en viss geofence till inom |
| Microsoft. Kartor. GeofenceExited | Upphöjt när mottagna koordinater har flyttats inifrån en viss geofence till utanför |
| Microsoft. Kartor. GeofenceResult | Upphöjt varje gång en geofencing-fråga returnerar ett resultat, oavsett tillståndet |
Händelseschema
I följande exempel visas schemat för 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"
}
Tips om att använda händelser
Program som hanterar Azure Kartor geofence-händelser bör följa några rekommenderade metoder:
- Konfigurera flera prenumerationer för att dirigera händelser till samma händelsehanterare. Det är viktigt att inte anta att händelser kommer från en viss källa. Kontrollera alltid meddelandeavsnittet för att se till att meddelandet kommer från den källa som du förväntar dig.
- Använd fältet
X-Correlation-idi svarshuvudet för att förstå om din information om objekt är uppdaterad. Meddelanden kan tas emot i annan ordning eller med fördröjning. - När en GET- eller POST-begäran i Geofence-API:et anropas med lägesparametern inställd på genereras en Enter- eller Exit-händelse för varje geometri i geofence som statusen har ändrats från föregående
EnterAndExitGeofence API-anrop.
Nästa steg
Mer information om hur du använder geofencing för att styra åtgärder på en byggarbetsplats finns i: