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.
Not
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:
Konunun uç noktasını Azure portalındaki Event Grid Konu Sayfasının Genel Bakış sekmesinde bulabilirsiniz.
Üst bilgi
İ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:
Özel konunun erişim anahtarını almak için Azure portalındaki Event Grid Konusu sayfasında Erişim anahtarları sekmesini seçin.
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ı. İstemci olayları Event Grid konusuna gönderdiğinde, 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. bir istemci toplu iş içinde olay aldığında, 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"
}]
Örnek olayı gönderme
Bu bölümde özel konuya örnek olay gönderme adımları gösterilmektedir.
Response
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ç | Response |
---|---|
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>"
}]
}
}
İlgili içerik
- Olay teslimlerini izleme hakkında bilgi için bkz . Event Grid ileti teslimi izleme.
- Kimlik doğrulama anahtarı hakkında daha fazla bilgi için bkz . Event Grid güvenliği ve kimlik doğrulaması.
- Azure Event Grid aboneliği oluşturma hakkında daha fazla bilgi için bkz . Event Grid abonelik şeması.