Bagikan melalui


Bereaksi terhadap peristiwa Azure App Configuration

Peristiwa Azure App Configuration memungkinkan aplikasi untuk bereaksi terhadap perubahan nilai kunci. Ini dilakukan tanpa perlu kode yang rumit atau layanan polling yang mahal dan tidak efisien. Sebagai gantinya, peristiwa didorong melalui Azure Event Grid ke pelanggan, seperti Azure Functions, Azure Logic Apps, atau bahkan ke pendengar HTTP kustom Anda sendiri. Secara kritis, Anda hanya membayar untuk apa yang Anda gunakan.

Peristiwa Azure App Configuration dikirim ke Azure Event Grid, yang menyediakan layanan pengiriman yang andal ke aplikasi Anda melalui kebijakan percobaan kembali yang kaya dan pengiriman surat mati. Untuk informasi selengkapnya, lihat Pengiriman pesan Event Grid dan coba lagi.

Skenario peristiwa Common App Configuration termasuk merefresh konfigurasi aplikasi, memicu penyebaran, atau alur kerja berorientasi konfigurasi apa pun. Ketika perubahan jarang terjadi, tetapi skenario Anda membutuhkan respons segera, arsitektur berbasis peristiwa bisa sangat efisien.

Lihat Menggunakan Event Grid untuk pemberitahuan perubahan data untuk contoh cepat.

Diagram yang memperlihatkan Model Event Grid.

Jenis peristiwa yang tersedia

Event Grid menggunakan langganan peristiwa untuk merutekan pesan peristiwa kepada pelanggan. Azure App Configuration memancarkan jenis peristiwa berikut:

Jenis peristiwa Description
Microsoft.AppConfiguration.KeyValueModified Dimunculkan saat nilai kunci dibuat atau diganti.
Microsoft.AppConfiguration.KeyValueDeleted Dimunculkan saat nilai kunci dihapus.
Microsoft.AppConfiguration.SnapshotCreated Dimunculkan saat rekam jepret dibuat.
Microsoft.AppConfiguration.SnapshotModified Dimunculkan saat rekam jepret dimodifikasi.

Skema peristiwa

Peristiwa memiliki data tingkat atas berikut:

Harta benda Tipe Description
source string Jalur sumber daya penuh ke sumber peristiwa. Bidang ini tidak dapat ditulis. Event Grid menyediakan nilai ini.
subject string Jalur yang ditentukan penerbit ke subjek peristiwa.
type string Salah satu jenis peristiwa terdaftar untuk sumber kejadian ini.
time string Waktu peristiwa dihasilkan berdasarkan waktu UTC penyedia.
id string Pengidentifikasi unik untuk peristiwa tersebut.
data objek Data peristiwa App Configuration.
specversion string Versi spesifikasi skema CloudEvents.

Objek data memiliki properti berikut:

Peristiwa kunci-nilai

Harta benda Tipe Description
key string Kunci kunci-nilai yang dimodifikasi atau dihapus.
label string Label, jika ada, dari nilai kunci yang dimodifikasi atau dihapus.
etag string Untuk KeyValueModified etag nilai kunci baru. Untuk KeyValueDeleted etag nilai kunci yang dihapus.
syncToken string Token sinkronisasi yang mewakili status server setelah peristiwa kunci-nilai.

Peristiwa rekam jepret

Harta benda Tipe Description
name string Nama rekam jepret yang dibuat atau dimodifikasi.
etag string Untuk SnapshotCreated etag rekam jepret baru. Untuk SnapshotModified etag rekam jepret yang dimodifikasi.
syncToken string Token sinkronisasi yang mewakili status server setelah peristiwa rekam jepret.

Contoh peristiwa

Contoh berikut menunjukkan skema peristiwa yang dimodifikasi nilai kunci:

[{
  "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"
}]

Contoh berikut menunjukkan skema peristiwa yang dihapus nilai kunci:

[{
  "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"
}]

Contoh berikut menunjukkan skema peristiwa yang dibuat rekam jepret:

[{
  "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"
}]

Contoh berikut menunjukkan skema peristiwa yang dimodifikasi rekam jepret:

[{
  "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"
}]

Untuk informasi selengkapnya, lihat Skema peristiwa Azure App Configuration.

Praktik untuk mengkonsumsi peristiwa

Aplikasi yang menangani peristiwa App Configuration harus mengikuti praktik yang direkomendasikan ini:

  • Beberapa langganan dapat dikonfigurasi untuk merutekan peristiwa ke penanganan aktivitas yang sama, jadi jangan asumsikan peristiwa berasal dari sumber tertentu. Sebagai gantinya, periksa topik pesan untuk memastikan bahwa instans App Configuration mengirim peristiwa.
  • eventTypePeriksa , dan jangan asumsikan bahwa semua peristiwa yang Anda terima akan menjadi jenis yang Anda harapkan.
  • etag Gunakan bidang untuk memahami apakah informasi Anda tentang objek masih up-to-date.
  • Gunakan bidang pengurut untuk memahami urutan peristiwa pada objek tertentu.
  • Gunakan bidang subjek untuk mengakses nilai kunci yang dimodifikasi.

Langkah selanjutnya

Untuk mempelajari selengkapnya tentang Event Grid dan mencoba peristiwa Azure App Configuration, lihat: