إرسال الأحداث من إدارة واجهة برمجة التطبيقات إلى شبكة الأحداث

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يتكامل API Management مع Azure Event Gridحيث يمكنك إرسال إعلامات الأحداث إلى خدمات أخرى وتشغيل عمليات سير المراحل النهائية. Event Grid هي خدمة توجيه أحداث مدارة بشكل كامل تستخدم نموذج النشر-الاشتراك. Event Grid لديه دعم مضمن لخدمات Azure مثل Azure Functions وتطبيقات Azure Logic، ويمكن أن تقدم تنبيهات الأحداث إلى الخدمات غير المتعلقة بـ Azure باستخدام خطافات الويب.

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

يمكنك في هذه المقالة الاشتراك في أحداث Event Grid في مثيل API Management وتحريك الأحداث وإرسال الأحداث إلى نقطة نهاية معالجة البيانات. للحفاظ على بساطة الأمر، يمكنك إرسال الأحداث إلى نموذج تطبيق ويب يجمع الرسائل ويعرضها:

أحداث API Management في عارض Event Grid

المتطلبات الأساسية

إنشاء نقطة نهاية الحدث

يمكنك في هذا القسم استخدام قالب إدارة الموارد لنشر نموذج تطبيق ويب تم إنشاؤه مسبقًا في Azure App Service. يمكنك الاشتراك لاحقًا في أحداث Event Grid الخاصة بمثيل API Management وتعيين هذا التطبيق كنقطة نهاية يتم إرسال الأحداث إليها.

لنشر نموذج التطبيق، يمكنك استخدام Azure CLI أو Azure PowerShell أو مدخل Azure. يستخدم المثال التالي الأمرإنشاء مجموعة نشر az في Azure CLI.

  • تعيين RESOURCE_GROUP_NAME باسم مجموعة موارد موجودة

  • قم بتعيين SITE_NAMEاسم فريد لتطبيق الويب

    يجب أن يكون اسم الموقع فريدًا في Azure لأنه يشكل جزءًا من اسم المجال المؤهل بالكامل (FQDN) لتطبيق الويب. يمكنك في قسم لاحق الانتقال إلى اسم المجال المؤهل بالكامل الخاص بالتطبيق في مستعرض ويب لعرض الأحداث.

RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<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=$SITE_NAME hostingPlanName=$SITE_NAME-plan

بمجرد نجاح عملية النشر (قد يستغرق البشر بضع دقائق)، افتح متصفحًا وانتقل إلى تطبيق الويب للتأكد من تشغيله:

https://<your-site-name>.azurewebsites.net

يجب أن تشاهد نموذج التطبيق معروضًا دون ظهور رسائل الحدث.

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

ما لم تكن قد استخدمت 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 في شريط الأوامر.

    صورة توضح تسجيل موفر Microsoft.EventGrid مع اشتراك Azure.

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

    صورة توضح التسجيل الناجح لمزود Microsoft.EventGrid مع اشتراك Azure.

الاشتراك في أحداث API Management

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

  1. في مدخل Azure، انتقل إلى مثيل API Management الخاص بك.

  2. حدد أحداث > + اشتراك في الحدث.

  3. في علامة التبويب أساسي:

    • أدخل اسمًا وصفيًا للاشتراك في الحدث.
    • في أنواع الأحداث، حدد نوعًا واحدًا أو أكثر من أنواع أحداث في API Management لإرسالها إلى Event Grid. على سبيل المثال في هذه المقالة، حدد على الأقل Microsoft.APIManagement.ProductCreated
    • حدد، في تفاصيل نقطة النهاية، نوع حدثخطاف الويب، وانقر فوق تحديد نقطة نهاية، وأدخل عنوان URL لتطبيق الويب المتبوعapi/updates. مثال:https://myapp.azurewebsites.net/api/updates.
    • حدد تأكيد التحديد.
  4. اترك الإعدادات على علامات التبويب المتبقية بقيمها الافتراضية، ثم حدد إنشاء.

    إنشاء اشتراك في الحدث في مدخل Azure

تشغيل الأحداث وعرضها

الآن بعد أن أصبح نموذج التطبيق قيد التشغيل وقد اشتركت في مثيل API Management مع Event Grid، فأنت جاهز لتوليد الأحداث.

على سبيل المثال، إنشاء منتج في مثيل API Management الخاص بك. إذا كان اشتراك الحدث لديك يتضمن الحدث Microsoft.APIManagement.ProductCreated، فإن إنشاء المنتج يحرك حدثًا يتم دفعه إلى نقطة نهاية تطبيق الويب لديك.

انتقل إلى تطبيق ويب Event Grid Viewer، ويجب أن تشاهد ProductCreatedالحدث. حدد الزر الموجود بجوار الحدث لعرض التفاصيل.

حدث تم إنشاؤه بواسطة المنتج في عارض Event Grid

مخطط حدث Event Grid

تتضمن بيانات حدث API Management، resourceUriالذي يعرف مورد API Management الذي قام بتشغيل الحدث. للحصول على تفاصيل حول مخطط رسالة حدث API Management، راجع وثائق Event Grid:

مخطط حدث Azure Event Grid في API Management

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