إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تمكن أحداث تكوين تطبيق Azure التطبيقات من التفاعل مع التغييرات في قيم المفاتيح. يتم ذلك دون الحاجة إلى كود معقد أو خدمات اقتراع باهظة الثمن وغير فعالة. بدلا من ذلك، يتم دفع الأحداث من خلال Azure Event Grid إلى المشتركين، مثل Azure Functions أو Azure Logic Apps أو حتى إلى مستمع HTTP المخصص الخاص بك. بشكل حاسم ، أنت تدفع فقط مقابل ما تستخدمه.
يتم إرسال أحداث تكوين تطبيق Azure إلى Azure Event Grid، والتي توفر خدمات تسليم موثوقة لتطبيقاتك من خلال نهج إعادة المحاولة الغنية والتسليم بالرسائل المنسقة. لمزيد من المعلومات، راجع تسليم رسالة Event Grid وإعادة المحاولة.
تتضمن سيناريوهات أحداث تكوين التطبيق الشائعة تحديث تكوين التطبيق أو تشغيل عمليات النشر أو أي سير عمل موجه نحو التكوين. عندما تكون التغييرات نادرة، ولكن السيناريو الخاص بك يتطلب استجابة فورية، يمكن أن تكون البنية المستندة إلى الأحداث فعالة بشكل خاص.
ألق نظرة على استخدام شبكة الأحداث لإشعارات تغيير البيانات للحصول على مثال سريع.
أنواع الأحداث المتاحة
تستخدم Event Grid اشتراكات الأحداث لتوجيه رسائل الأحداث إلى المشتركين. يصدر تكوين تطبيق Azure أنواع الأحداث التالية:
| نوع الحدث | الوصف |
|---|---|
| Microsoft.AppConfiguration.KeyValueModified | يتم رفعه عند إنشاء قيمة مفتاح أو استبدالها. |
| Microsoft.AppConfiguration.KeyValueDeleted | يتم رفعه عند حذف قيمة مفتاح. |
| Microsoft.AppConfiguration.SnapshotCreated | مرفوعة عند إنشاء لقطة. |
| Microsoft.AppConfiguration.SnapshotModified | يتم رفعه عند تعديل لقطة. |
مخطط الحدث
يحتوي الحدث على بيانات المستوى الأعلى التالية:
| Property | نوع | الوصف |
|---|---|---|
source |
string | مسار المورد الكامل إلى مصدر الحدث. هذا الحقل غير قابل للكتابة. توفر Event Grid هذه القيمة. |
subject |
string | المسار المحدد من قبل الناشر لموضوع الحدث. |
type |
string | أحد أنواع الأحداث المسجلة لمصدر الحدث هذا. |
time |
string | الوقت الذي يتم فيه إنشاء الحدث استنادا إلى وقت التوقيت العالمي المنسق للمزود. |
id |
string | معرف فريد للحدث. |
data |
كائن | بيانات حدث ضبط التطبيق. |
specversion |
string | إصدار مواصفات مخطط CloudEvents. |
يحتوي كائن البيانات على الخصائص التالية:
حدث القيمة الرئيسية
| Property | نوع | الوصف |
|---|---|---|
key |
string | مفتاح قيمة المفتاح التي تم تعديلها أو حذفها. |
label |
string | التسمية، إن وجدت، لقيمة المفتاح التي تم تعديلها أو حذفها. |
etag |
string | لعلامة KeyValueModified etag لقيمة المفتاح الجديدة. بالنسبة إلى KeyValueDeleted etag الخاص بقيمة المفتاح التي تم حذفها. |
syncToken |
string | الرمز المميز للمزامنة الذي يمثل حالة الخادم بعد حدث قيمة المفتاح. |
حدث لقطة
| Property | نوع | الوصف |
|---|---|---|
name |
string | اسم اللقطة التي تم إنشاؤها أو تعديلها. |
etag |
string | للحصول على SnapshotCreated علامة اللقطة الجديدة. بالنسبة إلى SnapshotModified etag للقطة التي تم تعديلها. |
syncToken |
string | الرمز المميز للمزامنة الذي يمثل حالة الخادم بعد حدث اللقطة. |
مثال على الحدث
يوضح المثال التالي مخطط حدث معدل لقيمة المفتاح:
[{
"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"
}]
يوضح المثال التالي مخطط حدث محذوف قيمة المفتاح:
[{
"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"
}]
يوضح المثال التالي مخطط حدث تم إنشاؤه للقطة:
[{
"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"
}]
يوضح المثال التالي مخطط حدث لقطة معدل:
[{
"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"
}]
لمزيد من المعلومات، راجع مخطط أحداث تكوين تطبيق Azure.
ممارسات استهلاك الأحداث
يجب أن تتبع التطبيقات التي تتعامل مع أحداث تكوين التطبيق هذه الممارسات الموصى بها:
- يمكن تكوين اشتراكات متعددة لتوجيه الأحداث إلى معالج الأحداث نفسه، لذلك لا تفترض أن الأحداث من مصدر معين. بدلا من ذلك، تحقق من موضوع الرسالة للتأكد من أن مثيل App Configuration يرسل الحدث.
- تحقق من
eventType، ولا تفترض أن جميع الأحداث التي تتلقاها ستكون الأنواع التي تتوقعها. - استخدم
etagالحقول لفهم ما إذا كانت معلوماتك حول الكائنات لا تزال up-to-date. - استخدم حقول التسلسل لفهم ترتيب الأحداث على أي كائن معين.
- استخدم حقل الموضوع للوصول إلى قيمة المفتاح التي تم تعديلها.
الخطوات التالية
لمعرفة المزيد حول Event Grid ولتجربة أحداث تكوين تطبيق Azure، راجع: