Aracılığıyla paylaş


Event Grid kullanarak Azure Haritalar olaylara tepki verme

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

Azure Event Grid, yayımlama-abone olma modeli kullanan tam olarak yönetilen bir olay yönlendirme hizmetidir. Event Grid, Azure İşlevleri ve Azure Logic Apps gibi Azure hizmetleri için yerleşik desteğe sahiptir. Web kancalarını kullanarak Azure dışı hizmetlere olay uyarıları sağlayabilir. Event Grid'in desteklediği olay işleyicilerinin tam listesi için bkz . Azure Event Grid'e giriş.

Azure Event Grid functional model

olay türlerini Azure Haritalar

Event Grid, olay iletilerini abonelere yönlendirmek için olay aboneliklerini kullanır. bir Azure Haritalar hesabı aşağıdaki olay türlerini yayar:

Olay türü Açıklama
Microsoft. Haritalar. GeofenceEntered Alınan koordinatlar belirli bir coğrafi konumun dışından içine taşındığında tetiklenen
Microsoft. Haritalar. GeofenceExited Alınan koordinatlar belirli bir bölge içinden dışarıya taşındığında tetiklenen
Microsoft. Haritalar. GeofenceResult Durum ne olursa olsun, bir coğrafi sınırlama sorgusu her sonuç döndürdüğünde tetikleniyor

Olay şeması

Aşağıdaki örnekte GeofenceResult şeması gösterilmektedir:

{
    "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 coğrafi durum 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 geldiğini varsaymamak önemlidir. İletinin beklediğiniz kaynaktan geldiğinden emin olmak için her zaman ileti konusunu denetleyin.
  • Nesneler hakkındaki bilgilerinizin X-Correlation-id güncel olup olmadığını anlamak için yanıt üst bilgisindeki alanı kullanın. İletiler karışık sırayla veya bir gecikmeden sonra gelebilir.
  • Geofence API'sindeki bir GET veya POST isteği mod parametresi olarak ayarlı EnterAndExitolarak çağrıldığında, coğrafi bölgede durumu önceki Geofence API çağrısından değiştirilen her geometri için bir Enter veya Exit olayı oluşturulur.

Sonraki adımlar

Azure Haritalar ve şema tarafından desteklenen tüm olaylar hakkında ayrıntılı bilgi için bkz. Event Grid kaynağı olarak Azure Haritalar.

Bir şantiyedeki işlemleri denetlemek için coğrafi sınırlamanın nasıl kullanılacağı hakkında daha fazla bilgi edinmek için bkz: