Reageren op Azure Kaarten-gebeurtenissen met behulp van Event Grid

Azure Kaarten integreert met Azure Event Grid, zodat gebruikers gebeurtenismeldingen kunnen verzenden naar andere services en downstreamprocessen kunnen activeren. Het doel van dit artikel is om u te helpen bij het configureren van uw zakelijke toepassingen om te luisteren naar Azure Kaarten-gebeurtenissen. Hierdoor kunnen gebruikers op een betrouwbare, schaalbare en veilige manier reageren op kritieke gebeurtenissen. Gebruikers kunnen bijvoorbeeld een toepassing bouwen om een database bij te werken, een ticket te maken en een e-mailmelding af te leveren, telkens wanneer een apparaat een geofence binnenkomt.

Azure Event Grid is een volledig beheerde service voor gebeurtenisrouting, die gebruikmaakt van een publicatie/abonnementmodel. Event Grid heeft ingebouwde ondersteuning voor Azure-Services, zoals Azure Functions en Azure Logic-apps. Het kan gebeurteniswaarschuwingen leveren aan niet-Azure-Services met behulp van webhooks. Zie Een inleiding tot Azure Event Grid voor een volledige lijst met gebeurtenisverwerkers die Event Grid ondersteunt.

Azure Event Grid functional model

Azure Kaarten-gebeurtenissentypen

Event Grid maakt gebruik van gebeurtenisabonnementen om gebeurtenisberichten naar abonnees te routeren. Een Azure Kaarten-account verzendt de volgende gebeurtenistypen:

Gebeurtenistype Beschrijving
Microsoft. Kaarten. GeofenceEntered Gegenereerd wanneer ontvangen coördinaten zijn verplaatst van buiten een bepaalde geofence naar binnen
Microsoft. Kaarten. GeofenceExited Gegenereerd wanneer ontvangen coördinaten zijn verplaatst van binnen een bepaalde geofence naar buiten
Microsoft. Kaarten. GeofenceResult Telkens wanneer een geofencingquery een resultaat retourneert, ongeacht de status

Gebeurtenisschema

In het volgende voorbeeld ziet u het schema voor 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 voor het gebruik van gebeurtenissen

Toepassingen die azure Kaarten geofence-gebeurtenissen verwerken, moeten een aantal aanbevolen procedures volgen:

  • Configureer meerdere abonnementen om gebeurtenissen te routeren naar dezelfde gebeurtenis-handler. Het is belangrijk om niet uit te gaan dat gebeurtenissen afkomstig zijn van een bepaalde bron. Controleer altijd het berichtonderwerp om ervoor te zorgen dat het bericht afkomstig is van de bron die u verwacht.
  • Gebruik het X-Correlation-id veld in de antwoordheader om te begrijpen of uw informatie over objecten up-to-date is. Berichten arriveren soms in de verkeerde volgorde of na een vertraging.
  • Wanneer een GET- of POST-aanvraag in de Geofence-API wordt aangeroepen met de modusparameter die is ingesteld EnterAndExitop, wordt er een Enter- of Exit-gebeurtenis gegenereerd voor elke geometrie in de geofence waarvoor de status is gewijzigd ten opzichte van de vorige Geofence-API-aanroep.

Volgende stappen

Zie Azure Kaarten als een Event Grid-bron voor meer informatie over alle gebeurtenissen die worden ondersteund door Azure Kaarten en het schema.

Zie voor meer informatie over het gebruik van geofencing voor het beheren van bewerkingen op een bouwplaats: