Azure Uygulaması Yapılandırma olaylarına tepki verme
Azure Uygulaması Yapılandırma olayları, uygulamaların anahtar değerlerindeki değişikliklere tepki vermelerini sağlar. Bu işlem karmaşık kodlara veya pahalı ve verimsiz yoklama hizmetlerine gerek kalmadan gerçekleştirilir. Bunun yerine olaylar Azure Event Grid aracılığıyla Azure İşlevleri, Azure Logic Apps gibi abonelere ve hatta kendi özel HTTP dinleyicinize iletilir. Kritik olarak, yalnızca kullandığınız kadar ödersiniz.
Azure Uygulaması Yapılandırma olayları, zengin yeniden deneme ilkeleri ve teslim edilemeyen teslim aracılığıyla uygulamalarınıza güvenilir teslim hizmetleri sağlayan Azure Event Grid'e gönderilir. Daha fazla bilgi için bkz . Event Grid ileti teslimi ve yeniden deneme.
Yaygın Uygulama Yapılandırması olay senaryoları arasında uygulama yapılandırmasını yenileme, dağıtımları tetikleme veya yapılandırma odaklı herhangi bir iş akışı yer alır. Değişiklikler seyrek olduğunda ancak senaryonuz anında yanıt verilmesini gerektirdiğinde, olay tabanlı mimari özellikle verimli olabilir.
Hızlı bir örnek için Event Grid'i veri değişikliği bildirimleri için kullanma başlığına göz atın.
Kullanılabilir olay türleri
Event Grid, olay iletilerini abonelere yönlendirmek için olay aboneliklerini kullanır. Azure Uygulaması Yapılandırması aşağıdaki olay türlerini yayar:
Olay türü | Açıklama |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Anahtar-değer oluşturulduğunda veya değiştirildiğinde oluşturulur. |
Microsoft.AppConfiguration.KeyValueDeleted | Bir anahtar-değer silindiğinde oluşturulur. |
Microsoft.AppConfiguration.SnapshotCreated | Anlık görüntü oluşturulduğunda oluşturulur. |
Microsoft.AppConfiguration.SnapshotModified | Anlık görüntü değiştirildiğinde oluşturulur. |
Olay şeması
Bir olay aşağıdaki üst düzey verilere sahiptir:
Özellik | Türü | Veri Akışı Açıklaması |
---|---|---|
source |
Dize | Olay kaynağının tam kaynak yolu. Bu alan yazılabilir değil. Event Grid bu değeri sağlar. |
subject |
Dize | Olay konusunun yayımcı tarafından tanımlanan yolu. |
type |
Dize | Bu olay kaynağı için kayıtlı olay türlerinden biri. |
time |
Dize | Sağlayıcının UTC saati temelinde olayın oluşturulduğu saat. |
id |
Dize | Olayın benzersiz tanımlayıcısı. |
data |
nesne | Olay verilerini Uygulama Yapılandırması. |
specversion |
Dize | CloudEvents şema belirtimi sürümü. |
Veri nesnesi aşağıdaki özelliklere sahiptir:
Anahtar-değer olayı
Özellik | Türü | Veri Akışı Açıklaması |
---|---|---|
key |
Dize | Değiştirilen veya silinen anahtar-değerin anahtarı. |
label |
Dize | Değiştirilen veya silinen anahtar değerinin etiketi (varsa). |
etag |
Dize | Yeni anahtar-değerin etiketi için KeyValueModified . Silinen anahtar-değerin etag'i için KeyValueDeleted . |
syncToken |
Dize | Anahtar-değer olayından sonraki sunucu durumunu temsil eden eşitleme belirteci. |
Anlık görüntü olayı
Özellik | Türü | Veri Akışı Açıklaması |
---|---|---|
name |
Dize | Oluşturulan veya değiştirilen anlık görüntünün adı. |
etag |
Dize | Yeni anlık görüntünün etag'i için SnapshotCreated . Değiştirilen anlık görüntünün etag'i için SnapshotModified . |
syncToken |
Dize | Anlık görüntü olayından sonraki sunucu durumunu temsil eden eşitleme belirteci. |
Örnek olay
Aşağıdaki örnekte anahtar-değer değiştirme olayının şeması gösterilmektedir:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueModified",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
Aşağıdaki örnekte anahtar-değer silinmiş olayının şeması gösterilmektedir:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueDeleted",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
Aşağıdaki örnek, anlık görüntü oluşturma olayının şemasını gösterir:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kvsnapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotCreated",
"time": "2023-09-02T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
Aşağıdaki örnek, anlık görüntü değiştirme olayının şemasını gösterir:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/snapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotModified",
"time": "2023-09-03T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
Daha fazla bilgi için bkz. Azure Uygulaması Yapılandırma olayları şeması.
Olayları kullanma yöntemleri
Uygulama Yapılandırması olayları işleyen uygulamalar şu önerilen uygulamaları izlemelidir:
- Birden çok abonelik, olayları aynı olay işleyicisine yönlendirecek şekilde yapılandırılabilir, bu nedenle olayların belirli bir kaynaktan olduğunu varsaymayın. Bunun yerine, Uygulama Yapılandırması örneğinin olayı gönderdiğinden emin olmak için iletinin konusuna bakın.
eventType
öğesini denetleyin ve aldığınız tüm olayların beklediğiniz tür olacağını varsaymayın.- Nesneler hakkındaki bilgilerinizin
etag
hala güncel olup olmadığını anlamak için alanları kullanın. - Belirli bir nesnedeki olayların sırasını anlamak için sıralayıcı alanlarını kullanın.
- Değiştirilen anahtar-değere erişmek için konu alanını kullanın.
Sonraki adımlar
Event Grid hakkında daha fazla bilgi edinmek ve Azure Uygulaması Yapılandırma olaylarını denemek için bkz: