إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، يمكنك استخدام Azure CLI لإنشاء موضوع مخصص لشبكة الأحداث واشتراك Queue Storage لهذا الموضوع. ثم ترسل نماذج الأحداث إلى الموضوع المخصص وتتحقق من تسليم هذه الأحداث إلى قائمة انتظار.
Azure Event Grid هي وسيط أحداث قابل للتطوير للغاية وبلا خادم يمكنك استخدامه لدمج التطبيقات عبر الأحداث. تقدم Event Grid الأحداث إلى معالجات الأحداث المدعومة، مثل تخزين قائمة انتظار Azure. لمزيد من المعلومات، راجع معالجات الأحداث.
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
إنشاء مجموعة موارد
مواضيع Event Grid هي موارد Azure. ضعها في مجموعة موارد Azure. مجموعة الموارد هي مجموعة منطقية يتم فيها نشر موارد Azure وإدارتها.
يمكنك إنشاء مجموعة موارد مستخدماً الأمر az group create. في المثال التالي سيتم إنشاء مجموعة موارد تسمى gridResourceGroup في المنطقة westus2.
حدد Open Cloud Shell لفتح Azure Cloud Shell في الجزء الأيمن. حدد الزر نسخ لنسخ الأمر، والصقه في Cloud Shell، ثم حدد مفتاح الإدخال Enter لتشغيل الأمر.
az group create --name gridResourceGroup --location westus2
قم بتمكين مزود موارد Event Grid
إذا كانت هذه هي المرة الأولى التي تستخدم فيها Event Grid في اشتراك Azure، فقد تحتاج إلى تسجيل موفر موارد Event Grid. قم بتشغيل الأمر التالي لتسجيل الموفر :
az provider register --namespace Microsoft.EventGridقد يستغرق التسجيل بعض الوقت. للتحقق من الحالة، قم بتشغيل الأمر التالي:
az provider show --namespace Microsoft.EventGrid --query "registrationState"عندما
registrationStateيكونRegistered، كنت على استعداد للمتابعة.
إنشاء موضوع مخصص
يوفر موضوع Event Grid نقطة نهاية معرّفة من قِبل المستخدم تقوم بنشر الأحداث إليها. ينشئ المثال التالي الموضوع المخصص في مجموعة الموارد الخاصة بك.
استبدل <TOPIC NAME> باسم فريد لموضوعك المخصص. يجب أن يكون اسم موضوع Event Grid فريدا لأن إدخال نظام أسماء المجالات (DNS) يمثله.
حدد اسما للموضوع:
topicname="<TOPIC NAME>"قم بتشغيل الأمر التالي لإنشاء الموضوع:
az eventgrid topic create --name $topicname --location westus2 --resource-group gridResourceGroup
إنشاء قائمة انتظار
قبل الاشتراك في الموضوع المخصص، قم بإنشاء نقطة النهاية لرسالة الحدث. يمكنك إنشاء قائمة انتظار لتجميع الأحداث.
حدد اسما فريدا لحساب تخزين Azure:
storagename="<STORAGE ACCOUNT NAME>"قم بتشغيل الأوامر التالية لإنشاء حساب تخزين و قائمة انتظار (تسمى
eventqueue) في التخزين:queuename="eventqueue" az storage account create --name $storagename --resource-group gridResourceGroup --location westus2 --sku Standard_LRS key="$(az storage account keys list --account-name $storagename --query "[0].{value:value}" --output tsv)" az storage queue create --name $queuename --account-name $storagename --account-key $key
الاشتراك في موضوع مخصص
يشترك المثال التالي في الموضوع المخصص الذي قمت بإنشائه. يمرر معرف المورد لقائمة الانتظار لنقطة النهاية. باستخدام Azure CLI، يمكنك تمرير معرف قائمة الانتظار كنقطة نهاية. نقطة النهاية بهذا التنسيق:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/queueservices/default/queues/<QUEUE NAME>
يحصل البرنامج النصي التالي على معرف المورد لحساب تخزين قائمة الانتظار. يقوم بإنشاء معرف قائمة الانتظار والاشتراك في موضوع Event Grid. فإنه يُعين نوع نقطة النهاية storagequeue ويستخدم معرف قائمة انتظار التخزين لنقطة النهاية.
قبل تشغيل الأمر، استبدل العنصر النائب لتاريخ انتهاء الصلاحية (<yyyy-mm-dd>) بقيمة فعلية للسنة والشهر واليوم.
storageid=$(az storage account show --name $storagename --resource-group gridResourceGroup --query id --output tsv)
queueid="$storageid/queueservices/default/queues/$queuename"
topicid=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name mystoragequeuesubscription \
--endpoint-type storagequeue \
--endpoint $queueid \
--expiration-date "<yyyy-mm-dd>"
يجب أن يكون للحساب الذي ينشئ اشتراك الحدث حق الوصول للكتابة إلى قائمة الانتظار. يتم تعيين تاريخ انتهاء صلاحية للاشتراك.
إذا كنت تستخدم واجهة برمجة تطبيقات REST لإنشاء الاشتراك، يمكنك تمرير معرف حساب التخزين واسم قائمة الانتظار كمعلمة منفصلة:
"destination": {
"endpointType": "storagequeue",
"properties": {
"queueName":"eventqueue",
"resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>"
}
...
أرسل حدث إلى موضوعك المُخصص
تشغيل حدث لمعرفة كيفية توزيع شبكة الأحداث الرسالة إلى نقطة النهاية. أولا، احصل على عنوان URL والمفتاح للموضوع المخصص:
endpoint=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname --resource-group gridResourceGroup --query "key1" --output tsv)
للتبسيط، تستخدم هذه المقالة نموذج بيانات الحدث لإرسالها إلى الموضوع المخصص. عادة ما يرسل تطبيق أو خدمة Azure بيانات الحدث.
ترسل أداة cURL طلبات HTTP. في هذه المقالة، يمكنك استخدام cURL لإرسال الحدث إلى الموضوع المخصص. يرسل المثال التالي ثلاثة أحداث إلى موضوع Event Grid:
for i in 1 2 3
do
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
انتقل إلى قائمة الانتظار في مدخل Microsoft Azure لمعرفة أن Event Grid أرسلت هذه الأحداث الثلاثة إلى قائمة الانتظار.
تنظيف الموارد
إذا كنت تخطط لمتابعة العمل مع هذا الحدث، فلا تقم بإزالة الموارد التي قمت بإنشائها في هذه المقالة. وإلا، استخدم الأمر التالي لحذف الموارد:
az group delete --name gridResourceGroup
المحتوى ذو الصلة
الآن بعد أن عرفت كيفية إنشاء مواضيع مخصصة واشتراكات الأحداث، تعرف على المزيد حول ما يمكن أن تساعدك شبكة الأحداث على القيام به:
- حول شبكة الأحداث
- توجيه أحداث Azure Blob Storage إلى نقطة نهاية ويب مخصصة
- مراقبة تغييرات الجهاز الظاهري باستخدام Azure Event Grid وLogic Apps
- ترحيل البيانات الملتقطة لمراكز الأحداث من Azure Storage إلى Azure Synapse Analytics
للتعرف على نشر الأحداث إلى شبكة الأحداث واستهلاكها منها باستخدام لغات برمجة مختلفة، راجع العينات التالية: