استخدام شبكة الأحداث لإعلامات تغيير بيانات تكوين التطبيق
في هذه المقالة، ستتعرف على كيفية إعداد اشتراكات أحداث تكوين تطبيقات Azure لإرسال أحداث تعديل القيمة الأساسية إلى نقطة نهاية ويب. يمكن لمستخدمي تكوين تطبيق Azure الاشتراك في الأحداث المنبعثة كلما تم تعديل القيم الرئيسية. يمكن أن تؤدي هذه الأحداث إلى تشغيل الإخطارات على الويب أو دالات Azureأو قوائم انتظار Azure Storage، أو أي معالج أحداث آخر مدعوم من قبل شبكة أحداث Azure. بشكل عام، يمكنك إرسال الأحداث إلى نقطة نهاية تعالج بيانات الحدث وتتخذ الإجراءات. ومع ذلك، لتبسيط هذه المقالة، يمكنك إرسال الأحداث إلى تطبيق ويب يقوم بتجميع الرسائل وعرضها.
المتطلبات الأساسية
- اشتراك Azure - إنشاء واحد مجانا. يمكنك اختياريا استخدام Azure Cloud Shell.
استخدام Azure Cloud Shell
Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.
لبدء Azure Cloud Shell:
| خيار | مثال/ رابط |
|---|---|
| انقر فوق جربه في الزاوية العلوية اليسرى من كتلة التعليمات البرمجية. تحديد جربه لا يقوم بنسخ التعليمات البرمجية تلقائيًا إلى Cloud Shell. | ![]() |
| انتقل إلى https://shell.azure.com، أو حدد زر تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. | ![]() |
| حدد زر Cloud Shell في شريط القوائم في أعلى اليمين في مدخل Azure. | ![]() |
لتشغيل التعليمة البرمجية في هذا المقال في Azure Cloud Shell:
ابدأ تشغيل Cloud Shell.
حدد الزر نسخ على كتلة التعليمات البرمجية لنسخ التعليمات البرمجية.
ألصق تعليمة البرمجية في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.
اكتب "Enter" لتشغيل الأمر.
إذا اخترت تثبيت CLI واستخدامه محليا، فتتطلب هذه المقالة تشغيل أحدث إصدار من Azure CLI (2.0.70 أو أحدث). قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
إذا كنت لا تستخدم Cloud Shell، يجب عليك أولاً تسجيل الدخول باستخدام az login.
قم بإنشاء مجموعة موارد
مواضيع شبكة الأحداث هي موارد Azure، ويجب وضعها في مجموعة موارد Azure. مجموعة الموارد هي عبارة عن مجموعة منطقية يتم فيها نشر جميع موارد Azure وإدارتها.
أنشئ مجموعة موارد باستخدام الأمر az group create.
ينشئ المثال التالي مجموعة موارد تُسمى <resource_group_name> في موقع westus. استبدل <resource_group_name> باسم فريد لمجموعة الموارد:
az group create --name <resource_group_name> --location westus
إنشاء متجر App Configuration
استبدل <appconfig_name> باسم فريد لمخزن التكوين، وبمجموعة <resource_group_name> الموارد التي أنشأتها سابقا. يجب أن يكون الاسم فريدا لأنه يستخدم كاسم DNS.
az appconfig create \
--name <appconfig_name> \
--location westus \
--resource-group <resource_group_name> \
--sku free
قم بإنشاء نقطة نهاية للرسالة
قبل الاشتراك في الموضوع، دعنا ننشئ نقطة نهاية لرسالة الحدث. عادة ما تتخذ نقطة النهاية إجراءات استنادًا إلى بيانات الحدث. لتبسيط بدء التشغيل السريع هذا، ستنشرتطبيق ويب مدمج مسبقًا يعرض رسائل الحدث. يتضمن الحل المنشور خطة خدمة التطبيقات، وتطبيق الويب الخاص بخدمة التطبيقات، وكود المصدر من GitHub.
استبدل <your-site-name> باسم فريد من أجل تطبيق الويب الخاص بك. يجب أن يكون اسم تطبيق الويب فريدًا لأنه جزء من إدخال DNS.
$sitename=<your-site-name>
az deployment group create \
--resource-group <resource_group_name> \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$sitename hostingPlanName=viewerhost
قد يستغرق النشر بضع دقائق حتى يكتمل. بعد نجاح عملية النشر، اطلع على تطبيق الويب الخاص بك للتأكد من تشغيله. في مستعرض ويب، انتقل إلى: https://<your-site-name>.azurewebsites.net
ينبغي أن تشاهد الموقع الذي لا توجد به رسائل معروضة حاليًا.
قم بتمكين مزود موارد Event Grid
إذا لم تكن قد استخدمت Event Grid من قبل في اشتراك Azure، فقد تحتاج إلى تسجيل موفر موارد Event Grid. قم بتشغيل الأمر التالي لتسجيل الموفر :
az provider register --namespace Microsoft.EventGrid
قد يستغرق التسجيل بعض الوقت. للتحقق من الحالة، قم بتشغيل:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
عندما registrationStateيكونRegistered، كنت على استعداد للمتابعة.
اشترك في متجر تكوين التطبيقات الخاص بك
الاشتراك في موضوع لإخبار شبكة الأحداث بالأحداث التي تريد تعقبها، ومكان إرسال هذه الأحداث. يشترك المثال التالي في تكوين التطبيق الذي أنشأته، ويمرر عنوان URL من تطبيق الويب كنقطة نهاية لإعلام الحدث. استبدل <event_subscription_name> باسم اشتراك الحدث. بالنسبة لـ <resource_group_name> و <appconfig_name>، استخدم القيم التي أنشأتها سابقًا.
يجب أن تتضمن نقطة النهاية لتطبيق الويب الخاص بك اللاحقة /api/updates/.
appconfigId=$(az appconfig show --name <appconfig_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $appconfigId \
--name <event_subscription_name> \
--endpoint $endpoint
اعرض تطبيق الويب الخاص بك مرة أخرى، ولاحظ أنه تم إرسال حدث التحقق من الاشتراك إليه. حدد أيقونة العين لتوسيع بيانات الحدث. ترسل شبكة الأحداث حدث التحقق بحيث يمكن التحقق من نقطة النهاية التي تريد تلقي بيانات الحدث. يتضمن تطبيق الويب تعليمة برمجية للتحقق من صحة الاشتراك.

تشغيل حدث تكوين تطبيق
الآن، لنقم بتشغيل حدث لمعرفة كيف توزع شبكة الأحداث الرسالة إلى نقطة النهاية لديك. قم بإنشاء قيمة رئيسية باستخدام من <appconfig_name> وقت سابق.
az appconfig kv set --name <appconfig_name> --key Foo --value Bar --yes
لقد قمت بتشغيل الحدث، وأرسلت شبكة الأحداث الرسالة إلى نقطة النهاية التي قمت بتكوينها عند الاشتراك. عرض تطبيق الويب الخاص بك لمشاهدة الحدث الذي أرسلته للتو.
[{
"id": "deb8e00d-8c64-4b6e-9cab-282259c7674f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/eventDemoGroup/providers/microsoft.appconfiguration/configurationstores/{appconfig-name}",
"subject": "https://{appconfig-name}.azconfig.io/kv/Foo",
"data": {
"key": "Foo",
"etag": "a1LIDdNEIV6wCnfv3xaip7fMXD3",
"syncToken":"zAJw6V16=Njo1IzMzMjE3MzA=;sn=3321730"
},
"eventType": "Microsoft.AppConfiguration.KeyValueModified",
"eventTime": "2019-05-31T18:59:54Z",
"dataVersion": "1",
"metadataVersion": "1"
}]
تنظيف الموارد
إذا كنت تخطط لمواصلة العمل باستخدام تكوين التطبيق هذا والاشتراك في الحدث، فلا تقم بتنظيف الموارد التي تم إنشاؤها في هذه المقالة. إذا كنت لا تخطط للمتابعة، استخدم الأمر التالي لحذف الموارد التي قمت بإنشائها في هذه المقالة.
استبدل <resource_group_name> بمجموعة الموارد التي أنشأتها أعلاه.
az group delete --name <resource_group_name>
الخطوات التالية
الآن بعد أن تعرفت على كيفية إنشاء الموضوعات واشتراكات الأحداث، تعرف على المزيد حول أحداث القيمة الرئيسية وما يمكن أن تساعدك شبكة الأحداث في القيام به:


