React naar Azure Kaarten met behulp van Event Grid

Azure Kaarten kan worden geïntegreerd 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 uw zakelijke toepassingen te configureren 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 te verzenden 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 functioneel model

Azure Kaarten-gebeurtenistypen

Gebeurtenisraster maakt gebruik van gebeurtenisabonnementen om gebeurtenisberichten te routen naar abonnees. Een Azure Kaarten-account stuurt de volgende gebeurtenistypen:

Gebeurtenistype Beschrijving
Microsoft. Kaarten. GeofenceEntered Verhoogd wanneer ontvangen coördinaten zijn verplaatst van buiten een bepaalde geofence naar binnen
Microsoft. Kaarten. GeofenceExited Wordt verhoogd wanneer ontvangen coördinaten zijn verplaatst van binnen een bepaalde geofence naar buiten
Microsoft. Kaarten. GeofenceResult Elke keer dat een geofencing-query 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 naar dezelfde gebeurtenis-handler te routeer. Het is belangrijk om er niet van uit te gaan dat gebeurtenissen afkomstig zijn uit een bepaalde bron. Controleer altijd het berichtonderwerp om te controleren of 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 EEN POST-aanvraag in de Geofence-API wordt aangeroepen met de modusparameter ingesteld op , wordt er een Enter- of Exit-gebeurtenis gegenereerd voor elke geometrie in de geofence waarvoor de status is gewijzigd ten opzichte van de vorige EnterAndExit Geofence-API-aanroep.

Volgende stappen

Zie voor meer informatie over het gebruik van geofencing om bewerkingen op een bouwterrein te controleren: