Bagikan melalui


Bereaksi terhadap peristiwa Azure App Configuration

Peristiwa Azure App Configuration memungkinkan aplikasi bereaksi terhadap perubahan nilai kunci. Itu dilakukan tanpa perlu kode yang rumit atau layanan polling yang mahal dan tidak efisien. Sebagai gantinya, kejadian didorong melalui Azure Event Grid kepada pelanggan, seperti Azure Functions, Azure Logic Apps, atau bahkan ke pendengar HTTP kustom Anda sendiri. Anda hanya membayar sesuai penggunaan.

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

Skenario peristiwa Konfigurasi Aplikasi Umum mencakup konfigurasi aplikasi yang menyegarkan, memicu penyebaran, atau alur kerja berorientasi konfigurasi apa pun. Ketika perubahan jarang terjadi, tetapi skenario Anda memerlukan respons langsung, arsitektur berbasis kejadian bisa sangat efisien.

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

Diagram that shows Event Grid Model.

Tipe kejadian yang tersedia

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

Jenis peristiwa Deskripsi
Microsoft.AppConfiguration.KeyValueModified Muncul saat key-value dibuat atau diganti.
Microsoft.AppConfiguration.KeyValueDeleted Muncul saat key-value dihapus.
Microsoft.AppConfiguration.SnapshotCreated Dimunculkan saat rekam jepret dibuat.
Microsoft.AppConfiguration.SnapshotModified Dimunculkan saat rekam jepret dimodifikasi.

Skema peristiwa

Sebuah peristiwa memiliki data tingkat atas berikut ini:

Properti Tipe Deskripsi
source string Jalur sumber daya lengkap ke sumber kejadian. Bidang ini tidak dapat ditulis. Event Grid memberikan nilai ini.
subject string Jalur yang ditentukan penerbit ke subjek kejadian.
type string Salah satu jenis kejadian terdaftar untuk sumber kejadian ini.
time string Waktu peristiwa dibuat berdasarkan waktu UTC penyedia.
id string Pengidentifikasi unik untuk peristiwa tersebut.
data object Data peristiwa Data Configuration.
specversion string Versi spesifikasi skema CloudEvents.

Objek data memiliki properti berikut:

Peristiwa kunci-nilai

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

Peristiwa rekam jepret

Properti Tipe Deskripsi
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 memperlihatkan skema peristiwa yang dimodifikasi dengan key-value:

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

Contoh berikut menunjukkan skema peristiwa yang dihapus nilai kunci:

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

Contoh berikut menunjukkan skema peristiwa yang dibuat rekam jepret:

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

Contoh berikut menunjukkan skema peristiwa yang dimodifikasi rekam jepret:

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

Untuk informasi selengkapnya, lihat Skema peristiwa Azure App Configuration.

Praktik untuk memakai acara

Aplikasi yang menangani peristiwa Azure App Configuration harus mengikuti praktik yang direkomendasikan berikut:

  • Beberapa langganan dapat dikonfigurasi untuk merutekan acara ke penanganan acara yang sama, jadi jangan anggap acara berasal dari sumber tertentu. Sebagai gantinya, periksa topik pesan untuk memastikan instans App Configuration mengirimkan kejadian.
  • Periksa eventType dan jangan berasumsi bahwa semua kejadian yang Anda terima adalah jenis yang Anda harapkan.
  • Gunakan bidang etag untuk memahami apakah informasi Anda tentang objek masih yang terbaru.
  • Gunakan bidang sequencer untuk memahami urutan peristiwa pada objek tertentu.
  • Gunakan bidang subjek untuk mengakses nilai kunci yang dimodifikasi.

Langkah berikutnya

Untuk mempelajari Event Grid lebih lanjut dan untuk mencoba kejadian Azure App Configuration, lihat: