Erişim anahtarlarını kullanarak olayları Azure Event Grid özel konu başlıklarına yayımlama

Bu makalede, erişim anahtarı kullanarak özel bir konuya olay gönderme açıklanmaktadır. Gönderi ve olay verilerinin biçimini gösterir. Hizmet Düzeyi Sözleşmesi (SLA) yalnızca beklenen biçime uyan gönderiler için geçerlidir.

Dekont

Microsoft Entra kimlik doğrulaması, erişim anahtarı veya Paylaşılan Erişim İmzası (SAS) belirteci kimlik doğrulaması tarafından sunulandan daha üstün bir kimlik doğrulama desteği sağlar. Microsoft Entra kimlik doğrulaması ile kimlik, Microsoft Entra kimlik sağlayıcısına karşı doğrulanır. Geliştirici olarak, Microsoft Entra kimlik doğrulamasını kullanıyorsanız kodunuzda anahtarları işlemeniz gerekmez. Ayrıca, uygulamanızın güvenlik duruşunu geliştirmenize yardımcı olabilecek Koşullu Erişim gibi Microsoft kimlik platformu yerleşik tüm güvenlik özelliklerinden de yararlanabilirsiniz. Daha fazla bilgi için bkz . Microsoft Entra Id kullanarak yayımlama istemcilerinin kimliğini doğrulama.

Uç nokta

HTTP POST'unu özel bir konuya gönderirken URI biçimini kullanın: https://<topic-endpoint>?api-version=2018-01-01. Örneğin, geçerli bir URI'dir: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Azure CLI kullanarak özel bir konunun uç noktasını almak için şunu kullanın:

az eventgrid topic show --name <topic-name> -g <topic-resource-group> --query "endpoint"

Azure PowerShell kullanarak özel bir konunun uç noktasını almak için şunu kullanın:

(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint

İstekte, kimlik doğrulaması için bir anahtar içeren adlı aeg-sas-key bir üst bilgi değeri ekleyin. Örneğin, geçerli bir üst bilgi değeri olur aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Azure CLI kullanarak özel bir konunun anahtarını almak için şunu kullanın:

az eventgrid topic key list --name <topic-name> -g <topic-resource-group> --query "key1"

PowerShell kullanarak özel bir konunun anahtarını almak için şunu kullanın:

(Get-AzEventGridTopicKey -ResourceGroupName <topic-resource-group> -Name <topic-name>).Key1

Olay verileri

Özel konular için, üst düzey veriler standart kaynak tanımlı olaylarla aynı alanları içerir. Bu özelliklerden biri, özel konuya özgü özellikler içeren bir data özelliktir. Olay yayımcısı olarak, bu veri nesnesinin özelliklerini belirlersiniz. Şema şu şekildedir:

[
  {
    "id": string,    
    "eventType": string,
    "subject": string,
    "eventTime": string-in-date-time-format,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string
  }
]

Bu özelliklerin açıklaması için bkz . Azure Event Grid olay şeması. Olayları bir Event Grid konusuna gönderirken, dizinin toplam boyutu 1 MB'a kadar olabilir. Bir olay için izin verilen en büyük boyut da 1 MB'tır. 64 KB üzerindeki olaylar 64 KB'lık artışlarla ücretlendirilir. Toplu iş içindeki olayları alırken, izin verilen en fazla olay sayısı toplu iş başına 5.000'dir.

Örneğin, geçerli bir olay veri şeması şöyledir:

[{
  "id": "1807",
  "eventType": "recordInserted",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  },
  "dataVersion": "1.0"
}]

Yanıt

Konu uç noktasına postaladıktan sonra bir yanıt alırsınız. Yanıt, standart bir HTTP yanıt kodudur. Bazı yaygın yanıtlar şunlardır:

Sonuç Yanıt
Başarılı 200 Tamam
Olay verilerinin biçimi yanlış 400 Hatalı İstek
Geçersiz erişim anahtarı 401 Yetkisiz
Yanlış uç nokta 404 Bulunamadı
Dizi veya olay boyut sınırlarını aşıyor 413 Zararlı Yük Çok Büyük

Hatalar için ileti gövdesi aşağıdaki biçime sahiptir:

{
    "error": {
        "code": "<HTTP status code>",
        "message": "<description>",
        "details": [{
            "code": "<HTTP status code>",
            "message": "<description>"
    }]
  }
}

Sonraki adımlar