React k událostem Mapy Azure pomocí Event Grid

Azure Mapy se integruje s Azure Event Grid, aby uživatelé mohli posílat oznámení o událostech jiným službám a aktivovat podřízené procesy. Účelem tohoto článku je pomoct vám nakonfigurovat obchodní aplikace tak, aby naslouchala událostem Mapy Azure. To uživatelům umožňuje reagovat na kritické události spolehlivým, škálovatelným a bezpečným způsobem. Uživatelé mohou například vytvořit aplikaci, která aktualizuje databázi, vytvoří lístek a doručí e-mailové oznámení pokaždé, když zařízení vstoupí do geografické oblasti.

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 služeb Azure, jako jsou Azure Functions a Azure Logic Apps. Pomocí webhooků může doručovat výstrahy událostí službám mimo Azure. Úplný seznam obslužných rutin událostí, které Event Grid, najdete v tématu Úvod do Azure Event Grid.

Azure Event Grid funkční model

Typy Mapy událostí Azure

Event Grid používá odběry událostí ke směrování zpráv událostí odběratelům. Účet azure Mapy vysílá následující typy událostí:

Typ události Popis
Microsoft. Mapy. GeofenceEntered Vyvoláno, když se přijaté souřadnice přesunuly z oblasti mimo danou geografickou oblast do
Microsoft. Mapy. GeofenceExited Vyvoláno, když se přijaté souřadnice přesunuly z dané geografické oblasti do vnějšího umístění.
Microsoft. Mapy. Hodnota geografické hodnoty Vyvoláno pokaždé, když dotaz geofencingu 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ání událostí Mapy geografické ochrany Azure, 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. Je důležité nepoužití předpokladu, že události pochází z konkrétní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.
  • Pomocí pole v hlavičce odpovědi můžete pochopit, jestli jsou vaše informace X-Correlation-id 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í API pro geografickou replikaci zavolá požadavek GET nebo POST s parametrem mode nastaveným na , vygeneruje se událost Enter nebo Exit pro každou geometrii v geografické oblasti, pro kterou se stav změnil od předchozího volání rozhraní EnterAndExit GEOFence API.

Další kroky

Další informace o použití geofencingu k řízení operací na staveniště najdete v tématu: