فهم مجالات الأحداث لإدارة موضوعات شبكة الأحداث

مجال الحدث هو أداة إدارة لعدد كبير من مواضيع Event Grid المتعلقة بنفس التطبيق. يمكنك التفكير في الأمر على أنه موضوع تعريف يمكن أن يحتوي على آلاف الموضوعات الفردية. يوفر نقطة نهاية نشر واحدة لجميع الموضوعات في المجال. عند نشر حدث، يجب على الناشر تحديد الموضوع الهدف في المجال الذي يريد النشر إليه. يمكن للناشر إرسال صفيف أو مجموعة من الأحداث حيث يتم إرسال الأحداث إلى مواضيع مختلفة في المجال. راجع قسم Publishing events to an event domain للحصول على التفاصيل.

تمنحك المجالات أيضا التحكم في المصادقة والتخويل على كل موضوع حتى تتمكن من تقسيم المستأجرين. توضح هذه المقالة كيفية استخدام مجالات الأحداث لإدارة تدفق الأحداث المخصصة إلى مختلف مؤسسات الأعمال أو العملاء أو التطبيقات. استخدم مجالات الأحداث من أجل:

  • إدارة هياكل الأحداث متعددة المستأجرين على نطاق واسع.
  • إدارة المصادقة والتخويل.
  • تقسيم موضوعاتك دون إدارة كل منها على حدة.
  • تجنب النشر الفردي لكل موضوع من نقاط النهاية الخاصة بك.

إشعار

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

مثال على حالة الاستخدام

يتم شرح مجالات الأحداث بسهولة باستخدام مثال. لنفترض أنك تدير شركة Contoso Construction Machinery، حيث تقوم بتصنيع الجرارات ومعدات الحفر والآلات الثقيلة الأخرى. كجزء من إدارة الأعمال، فإنك ترسل معلومات في الوقت الفعلي للعملاء حول صيانة المعدات، وصحة الأنظمة، وتحديثات العقود. تنتقل كل هذه المعلومات إلى نقاط نهاية مختلفة، بما في ذلك تطبيقك ونقاط نهاية العملاء، والبنية التحتية الأخرى التي أنشأها العملاء.

تسمح لك مجالات الأحداث بنمذجة شركة Contoso Construction Machinery ككيان حدث واحد. يتم تمثيل كل عميل من عملائك كموضوع داخل المجال. تتم معالجة المصادقة والتخويل باستخدام معرف Microsoft Entra. يمكن لكل عميل من عملائك الاشتراك في موضوعهم، وتسليم أحداثهم إليهم. يضمن الوصول المُدار من خلال مجال الحدث أنه يمكنهم فقط الوصول إلى موضوعهم.

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

Image showing an example use case for using Event Grid domains.

إدارة الوصول

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

أدوار مدمجة

تحتوي Event Grid على تعريفين مضمنين للأدوار لجعل Azure RBAC أسهل للعمل مع مجالات الأحداث. هذه الأدوار هي EventGrid EventSubscription Contributor و EventGrid EventSubscription Reader. تقوم بتعيين هذه الأدوار للمستخدمين الذين يحتاجون إلى الاشتراك في الموضوعات في مجال الحدث الخاص بك. يمكنك تحديد نطاق تعيين الدور بحيث يقتصر على الموضوع الذي يحتاج المستخدمون إلى الاشتراك فيه فقط. للحصول على معلومات حول هذه الأدوار، راجع الأدوار المضمنة لشبكة الأحداث .

الاشتراك في المواضيع

الاشتراك في أحداث لموضوع داخل مجال حدث هو نفس إنشاء اشتراك حدث في موضوع مخصص أو الاشتراك في حدث من خدمة Azure.

هام

يعتبر موضوع المجال مورد مُدار تلقائيًا في Event Grid. يمكنك إنشاء اشتراك حدث في نطاق المجال دون إنشاء موضوع المجال. في هذه الحالة، تقوم Event Grid تلقائيًا بإنشاء موضوع المجال نيابة عنك. بالطبع، لا يزال بإمكانك اختيار إنشاء موضوع المجال يدويًا. يتيح لك هذا السلوك القلق بشأن مورد واحد أقل عند التعامل مع عدد كبير من موضوعات المجال. عند حذف آخر اشتراك في موضوع المجال، يتم أيضًا حذف موضوع المجال بصرف النظر عما إذا كان موضوع المجال قد تم إنشاؤه يدويًا أو إنشاؤه تلقائيًا.

نطاق الاشتراكات

تسمح مجالات الأحداث أيضًا بالاشتراكات في نطاق المجال. يتلقى اشتراك الحدث على مجال الحدث جميع الأحداث المرسلة إلى المجال بغض النظر عن الموضوع الذي يتم إرسال الأحداث إليه. يمكن أن تكون اشتراكات نطاق المجال مفيدة لأغراض الإدارة والتدقيق.

النشر إلى مجال الحدث

عند إنشاء مجال حدث، يتم منحك نقطة نهاية للنشر مماثلة لما إذا كنت قد أنشأت موضوعًا في Event Grid. لنشر الأحداث إلى أي موضوع في مجال حدث، ادفع الأحداث إلى نقطة نهاية المجال بنفس الطريقة التي تستخدمها لموضوع مخصص. الاختلاف الوحيد هو أنه يجب عليك تحديد الموضوع الذي ترغب في تسليم الحدث إليه. على سبيل المثال، سيؤدي نشر صفيف الأحداث التالي إلى إرسال الحدث مع "id": "1111" إلى الموضوع foo بينما سيتم إرسال الحدث مع "id": "2222" إلى الموضوع bar.

عند استخدام مخطط حدث السحابة، حدد اسم موضوع Event Grid في المجال كقيمة للخاصية source . في المثال التالي، source يتم تعيين الخاصية إلى foo للحدث الأول وإلى bar للحدث الثاني.

إذا كنت تريد استخدام حقل مختلف لتحديد الموضوع المقصود في المجال، فحدد تعيين مخطط الإدخال عند إنشاء المجال. على سبيل المثال، إذا كنت تستخدم واجهة برمجة تطبيقات REST، فاستخدم الخاصية properties.inputSchemaMapping عند تعيين هذا الحقل إلى properties.topic. إذا كنت تستخدم .NET SDK، فاستخدم EventGridJsonInputSchemaMapping. تدعم SDKs الأخرى أيضا تعيين المخطط.

[{
  "source": "foo",
  "id": "1111",
  "type": "maintenanceRequested",
  "subject": "myapp/vehicles/diggers",
  "time": "2018-10-30T21:03:07+00:00",
  "data": {
    "make": "Contoso",
    "model": "Small Digger"
  },
	"specversion": "1.0"
},
{
  "source": "bar",
  "id": "2222",
  "type": "maintenanceCompleted",
  "subject": "myapp/vehicles/tractors",
  "time": "2018-10-30T21:04:12+00:00",
  "data": {
    "make": "Contoso",
    "model": "Big Tractor"
  },
	"specversion": "1.0"
}]

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

التسعير

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

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

للتعرف على إعداد مجالات الأحداث وإنشاء الموضوعات وإنشاء اشتراكات الأحداث ونشر الأحداث، راجع إدارة مجالات الأحداث .