Event Grid kullanarak Azure Haritalar olaylarına React

Azure Haritalar, kullanıcıların diğer hizmetlere olay bildirimleri gönderebilmesi ve aşağı akış süreçlerini tetikleyebilmeleri için Azure Event Grid ile tümleşir. bu makalenin amacı, iş uygulamalarınızı Azure Haritalar olaylarını dinleyecek şekilde yapılandırmanıza yardımcı olur. Bu, kullanıcıların kritik olaylara güvenilir, ölçeklenebilir ve güvenli bir şekilde tepki vermesini sağlar. Örneğin, kullanıcılar bir cihaz bölge alanı her girdiğinde bir veritabanını güncelleştirmek, Bilet oluşturmak ve bir e-posta bildirimi göndermek için bir uygulama oluşturabilir.

Azure Event Grid, yayımlama-abonelik modeli kullanan, tam olarak yönetilen bir olay yönlendirme hizmetidir. Event Grid azure işlevleri ve Azure Logic Appsgibi azure hizmetleri için yerleşik desteğe sahiptir. Web kancalarını kullanarak Azure olmayan hizmetlere olay uyarıları sunabilir. Event Grid desteklediği olay işleyicilerinin tüm listesi için bkz. Azure Event Grid giriş.

Azure Event Grid işlevsel modeli

Azure Haritalar olay türleri

Olay Kılavuzu, olay iletilerini abonelere yönlendirmek için olay abonelikleri kullanır. Azure Haritalar hesabı aşağıdaki olay türlerini yayar:

Olay türü Açıklama
MICROSOFT. Haritalar. Bölge girildi Alınan Koordinatlar, belirli bir bölge dışından, içindeki ' dan ' a taşındığında tetiklenir
MICROSOFT. Haritalar. Bölge, çıkış yaptı Alınan koordinatlar belirli bir bölge içinden dışarıya taşındığında tetiklenir
MICROSOFT. Haritalar. GeofenceResult Bölge sınırlama sorgusu, durumdan bağımsız olarak bir sonuç döndürdüğünde tetiklenir

Olay şeması

Aşağıdaki örnek, GeofenceResult için şemayı gösterir:

{
    "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"
}

Olayları kullanma ipuçları

Azure Haritalar bölge sınırı olaylarını işleyen uygulamalar, önerilen birkaç uygulamayı izlemelidir:

  • Olayları aynı olay işleyicisine yönlendirmek için birden çok abonelik yapılandırın. Olayların belirli bir kaynaktan olduğunu varsaymamak önemlidir. İletinin, beklediği kaynaktan geldiğinden emin olmak için her zaman ileti konusunu denetleyin.
  • X-Correlation-idNesneler hakkındaki bilgilerinizin güncel olup olmadığını anlamak için yanıt üstbilgisindeki alanı kullanın. İletiler karışık sırayla veya bir gecikmeden sonra gelebilir.
  • Bölge sınırı API 'sindeki bir get veya post isteği olarak ayarlanan mod parametresi ile çağrıldığında EnterAndExit , durumun önceki bölge API çağrısından değiştiği bölge için her bir geometri için bir Enter veya Exit olayı oluşturulur.

Sonraki adımlar

Bir oluşturma sitesindeki işlemleri denetlemek için bölge sınırlaması kullanma hakkında daha fazla bilgi edinmek için bkz.: