استخدام Azure Event Grid لإرسال أحداث تخزين Blob إلى نقطة نهاية الويب (مدخل Azure)

شبكة الأحداث هي خدمة مدارة بالكامل تمكنك من إدارة الأحداث بسهولة عبر العديد من خدمات وتطبيقات Azure المختلفة. إنها تبسط بناء التطبيقات المستندة إلى الحدث وبلا خادم. للحصول على نظرة عامة عن الخدمة، راجع نظرة عامة على Event Grid.

في هذه المقالة، يمكنك استخدام مدخل Azure للقيام بالمهام التالية:

  1. إنشاء حساب تخزين بيانات Blob.
  2. الاشتراك في الأحداث لتخزين blob.
  3. تشغيل حدث عن طريق تحميل ملف إلى تخزين blob.
  4. عرض النتيجة في تطبيق ويب معالج. وعادةً، ما ترسل الأحداث إلى نقطة نهاية تعالج بيانات الحدث وتتخذ الإجراءات. لتبسيط الأمر، يمكنك إرسال الأحداث إلى تطبيق ويب يجمع الرسائل ويعرضها.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

عند الانتهاء، ترى أن بيانات الحدث قد أُرسِلت إلى تطبيق الويب.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

إنشاء حساب تخزين

  1. تسجيل الدخول إلى مدخل Azure.

  2. لإنشاء تخزين Blob، حدد Create a resource.

  3. في Search، أدخل Storage account، وحدد Storage account من قائمة النتائج.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. في الصفحة Storage account حدد Create لبدء إنشاء حساب التخزين. للاشتراك في الأحداث، بادر بإنشاء حساب تخزين V2 للأغراض العامة أو حساب تخزين Blob.

  5. في الصفحة Create storage account، بادر باتخاذ الخطوات التالية:

    1. حدد اشتراك Azure الخاص بك.

    2. بالنسبة لمجموعة الموارد، أنشئ مجموعة موارد جديدة أو مجموعة موجودة.

    3. أدخل اسماً مميزاً لحساب التخزين خاصتك.

    4. حدد Region التي تريد إنشاء حساب التخزين فيها.

    5. بالنسبة لخيار Redundancy، حدد Locally-redundant storage (LRS) من القائمة المنسدلة.

    6. حدد Review في أسفل الصفحة.

      Screenshot showing the Create a storage account page.

    7. في صفحة Review، راجع الإعدادات، وحدد Create.

      إشعار

      حسابات التخزين فقط من نوع StorageV2 (الأغراض العامة v2) و BlobStorage تدعم دمج الحدث. التخزين (v1 للأغراض العامة)لا يدعم التكامل مع شبكة الأحداث.

  6. يستغرق النشر بضع دقائق لإكماله. في صفحة Deployment ، حدد Go to resource.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. في الصفحة Storage account، حدد Eventsفي القائمة اليسرى.

    Screenshot showing the Events page for an Azure storage account.

  8. احتفظ بهذه الصفحة في مستعرض الويب مفتوحا.

قم بإنشاء نقطة نهاية للرسالة

قبل الاشتراك في أحداث تخزين Blob، دعنا ننشئ نقطة نهاية لرسالة الحدث. عادةً ما تتخذ نقطة النهاية إجراءات بناءً على بيانات الحدث. لتبسيط هذا التشغيل السريع، يمكنك نشر تطبيق ويب تم إنشاؤه مسبقا يعرض رسائل الحدث. يتضمن الحل المنشور خطة خدمة التطبيقات، وتطبيق الويب الخاص بخدمة التطبيقات، وكود المصدر من GitHub.

  1. حدد Deploy to Azure لنشر الحل في اشتراكك.

    Button to deploy the Resource Manager template to Azure.

  2. في الصفحة Custom deployment، بادر باتخاذ الخطوات التالية:

    1. بالنسبة إلى مجموعة الموارد، حدد مجموعة الموارد التي أنشأتها عند إنشاء حساب التخزين. سيكون من الأسهل عليك التنظيف بعد الانتهاء من البرنامج التعليمي عن طريق حذف مجموعة الموارد.

    2. بالنسبة إلى اسم الموقع، أدخل اسماً لتطبيق الويب.

    3. بالنسبة إلى اسم خطة الاستضافة، أدخل اسماً لخطة خدمة التطبيقات لاستخدامها لاستضافة تطبيق الويب.

    4. حدد "Review + create".

      Screenshot showing the Custom deployment page.

  3. في صفحة مراجعة+ إنشاء حدد إنشاء.

  4. يستغرق النشر بضع دقائق لإكماله. في صفحة Deployment ، حدد Go to resource group.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. في الصفحة Resource group، في قائمة الموارد، حدد تطبيق الويب الذي أنشأته. كما ترى أيضاً خطة App Service وحساب التخزين في هذه القائمة.

    Screenshot that shows the selection of web app in the resource group.

  6. في الصفحة App Service لتطبيق الويب الخاص بك، حدد عنوان URL للانتقال إلى موقع الويب. يجب أن يكون عنوان URL بهذا الشكل: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. تأكد من رؤية الموقع مع عدم نشر أي أحداث عليه حتى الآن.

    View new site.

    هام

    احتفظ بنافذة Azure Event Grid Viewer مفتوحة حتى تتمكن من رؤية الأحداث عند نشرها.

تسجيل موفر موارد شبكة الأحداث

ما لم تكن قد استخدمت Event Grid من قبل، فستحتاج إلى تسجيل مزود موارد Event Grid. إذا كنت قد استخدمت Event Grid من قبل، فانتقل إلى القسم التالي.

في مدخل Microsoft Azure، قم بالخطوات التالية:

  1. في القائمة اليسرى، حدد Subscriptions.

  2. حدد subscription الذي تريد استخدامه لـ Event Grid من قائمة الاشتراك.

  3. في صفحة Subscription، حدد Resource providers ضمن Settings في القائمة اليسرى.

  4. ابحث عن Microsoft.EventGrid، وتأكد من أن الحالة غير مسجلة.

  5. حدد Microsoft.EventGrid في قائمة الموفرين.

  6. حدد Register في شريط الأوامر.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. قم بالتحديث للتأكد من تغيير حالة Microsoft.EventGrid إلى Registered.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

الاشتراك في تخزين Blob

تشترك في موضوع لإخبار Event Grid بالأحداث التي تريد تعقبها، ومكان إرسال هذه الأحداث.

  1. إذا قمت بإغلاق صفحة حساب التخزين، فانتقل إلى حساب Azure Storage الذي قمت بإنشائه سابقا. في القائمة اليسرى، حدد All resources وحدد حساب التخزين خاصتك.

  2. في الصفحة Storage account، حدد Eventsفي القائمة اليسرى.

  3. حدد More Options، و Web Hook. أنت ترسل الأحداث إلى تطبيق العارض باستخدام خطاف ويب لنقطة النهاية.

    Screenshot showing the selection of Web Hook on the Events page.

  4. في صفحة إنشاء اشتراك حدث، قم بتنفيذ الخطوات التالية:

    1. أدخل اسماً للاشتراك في الحدث.

    2. أدخل اسماً لـ موضوع النظام. للتعرف على موضوعات النظام، راجع نظرة عامة على موضوعات النظام.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. حدد Web Hook لـ Endpoint type.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. بالنسبة لنقطة النهاية، اختر تحديد نقطة نهاية، وأدخل عنوان URL لتطبيق الويب الخاص بك وأضف api/updates إلى عنوان URL للصفحة الرئيسية (على سبيل المثال: https://spegridsite.azurewebsites.net/api/updates)، ثم حدد تأكيد التحديد.

    Screenshot showing the Select Web Hook page.

  6. الآن، في صفحة Create Event Subscription، حدد Create لإنشاء اشتراك الحدث.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. اعرض تطبيق الويب خاصتك مرةً أخرى، ولاحظ إرسال حدث التحقق من صحة الاشتراك إليه. حدد أيقونة العين لتوسيع بيانات الحدث. ترسل Event Grid حدث التحقق؛ بحيث تتمكن نقطة النهاية من التحقق من رغبتها في تلقي بيانات الحدث. يتضمن تطبيق الويب رمزًا للتحقق من صحة الاشتراك.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

الآن، لنبادر بتشغيل حدث لمعرفة كيف توزع Event Grid الرسالة إلى نقطة النهاية لديك.

إرسال حدث إلى نقطة النهاية

تشغل حدث مخزن Blob عن طريق تحميل ملف. لا يحتاج الملف إلى أي محتوى محدد.

  1. في مدخل Azure، انتقل إلى حساب تخزين Blob خاصتك وحدد Containers في قائمة السماح.

  2. حدد + Container. أعط الحاوية اسمًا، واستخدم أي مستوى وصول، وحدد إنشاء.

    Screenshot showing the New container page.

  3. حدد حاويتك الجديدة.

    Screenshot showing the selection of the container.

  4. لتحميل ملف، حدد Upload. في صفحة Upload blob، استعرض وحدد ملفاً تريد تحميله للاختبار، ثم حدد Upload على تلك الصفحة.

    Screenshot showing Upload blob page.

  5. استعرض للوصول إلى ملف الاختبار خاصتك وحمِّله.

  6. لقد قمت بتشغيل الحدث، وأرسلت شبكة الأحداث الرسالة إلى نقطة النهاية التي قمت بتهيئتها عند الاشتراك. الرسالة بتنسيق JSON وتحتوي على صفيف ذي حدثٍ واحدٍ أو أكثر. في المثال التالي، تحتوي رسالة JSON على مصفوفة ذات حدث واحد. اعرض تطبيق الويب ولاحظ استلام حدث إنشاء blob.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

تنظيف الموارد

إذا كنت تخطط لمتابعة العمل مع هذا الحدث، فلا تنظف الموارد التي جرى إنشاؤها في هذه المقالة. وإلا، فاحذف الموارد التي أنشأتها في هذه المقالة.

حدد مجموعة الموارد، ثم حدد Delete resource group.

الخطوات التالية

الآن بعد أن عرفت كيفية إنشاء مواضيع مخصصة واشتراكات الأحداث، تعرف على المزيد حول ما يمكن أن تساعدك شبكة الأحداث على القيام به: