Aracılığıyla paylaş


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.

Diagram that shows Event Grid Model.

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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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: