مجموعة موارد Azure كمصدر شبكة الأحداث
توفر هذه المقالة خصائص ومخطط أحداث مجموعة الموارد. للحصول على مقدمة لمخططات الأحداث، راجع مخطط حدث Azure Event Grid.
تُرسل من اشتراكات Azure ومجموعات الموارد أنواع الأحداث نفسها. ترتبط أنواع الأحداث بتغييرات الموارد أو إجراءاتها. الفرق الأساسي هو أن مجموعات الموارد تُرسل منها أحداث للموارد داخل مجموعة الموارد، وتُرسل من اشتراكات Azure أحداث للموارد عبر الاشتراك.
يتم إنشاء أحداث الموارد لعمليات PUT وPATCH وPOST وDELETE التي يتم إرسالها إلى management.azure.com
. لا تنشئ عمليات GET أحداثاً. العمليات المرسلة إلى مستوى البيانات (مثل myaccount.blob.core.windows.net
) لا تنشئ أحداثاً. توفر أحداث الإجراء بيانات حدث لعمليات مثل سرد مفاتيح مورد.
عند الاشتراك في أحداث لمجموعة موارد، تتلقى نقطة النهاية كافة الأحداث لمجموعة الموارد تلك. يمكن أن تتضمن الأحداث الحدث الذي تريد رؤيته، مثل تحديث جهاز ظاهري، ولكن أيضا الأحداث التي ليست مهمة بالنسبة لك، مثل كتابة إدخال جديد في محفوظات النشر. يمكنك تلقي جميع الأحداث عند نقطة النهاية وكتابة التعليمات البرمجية التي تعالج الأحداث التي تريد معالجتها. أو يمكنك تعيين عامل تصفية عند إنشاء اشتراك الحدث.
لمعالجة الأحداث برمجياً، يمكنك فرز الأحداث من خلال النظر إلى القيمة operationName
. على سبيل المثال، قد تقوم نقطة نهاية الحدث بمعالجة الأحداث فقط للعمليات التي تساوي Microsoft.Compute/virtualMachines/write
أو Microsoft.Storage/storageAccounts/write
.
موضوع الحدث هو معرف المورد للمورد الذي هو هدف العملية. لتصفية الأحداث لمورد، قم بتوفير معرف المورد هذا عند إنشاء اشتراك الحدث. للتصفية حسب نوع مورد، استخدم قيمة بالتنسيق التالي: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines
أنواع الأحداث المتاحة
تُرسِل مجموعات الموارد أحداث إدارة من إدارة موارد Azure، مثل عند إنشاء جهاز ظاهري أو حذف حساب تخزين.
نوع الحدث | الوصف |
---|---|
Microsoft.Resources.ResourceActionCancel | يُرفع عند إلغاء الإجراء على المورد. |
Microsoft.Resources.ResourceActionFailure | يُرفع عند فشل الإجراء على المورد. |
Microsoft.Resources.ResourceActionSuccess | يُرفع عند نجاح الإجراء على المورد. |
Microsoft.Resources.ResourceDeleteCancel | يُرفع عند إلغاء عملية الحذف. يحدث هذا الحدث عند إلغاء نشر قالب. |
Microsoft.Resources.ResourceDeleteFailure | يُرفع عند فشل عملية الحذف. |
Microsoft.Resources.ResourceDeleteSuccess | يُرفع عند نجاح عملية الحذف. |
Microsoft.Resources.ResourceWriteCancel | يُرفع عند إلغاء عملية الإنشاء أو التحديث. |
Microsoft.Resources.ResourceWriteFailure | يُرفع عند فشل عملية الإنشاء أو التحديث. |
Microsoft.Resources.ResourceWriteSuccess | يُرفع عند نجاح عملية الإنشاء أو التحديث. |
مثال حدث
يوضح المثال التالي المخطط لحدث ResourceWriteSuccess. يتم استخدام نفس المخطط لأحداث ResourceWriteFailure وResourceWriteCancel بقيم مختلفة لـ eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
"type": "Microsoft.Resources.ResourceWriteSuccess",
"time": "2018-07-19T18:38:04.6117357Z",
"id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
"data": {
"authorization": {
"scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"action": "Microsoft.Storage/storageAccounts/write",
"evidence": {
"role": "Subscription Admin"
}
},
"claims": {
"aud": "{audience-claim}",
"iss": "{issuer-claim}",
"iat": "{issued-at-claim}",
"nbf": "{not-before-claim}",
"exp": "{expiration-claim}",
"_claim_names": "{\"groups\":\"src1\"}",
"_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
"http://schemas.microsoft.com/claims/authnclassreference": "1",
"aio": "{token}",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
"appid": "{ID}",
"appidacr": "2",
"http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
"e_exp": "{expiration}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
"ipaddr": "{IP-address}",
"name": "{full-name}",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
"onprem_sid": "{ID}",
"puid": "{ID}",
"http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
"http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
"uti": "{ID}",
"ver": "1.0"
},
"correlationId": "{ID}",
"resourceProvider": "Microsoft.Storage",
"resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"operationName": "Microsoft.Storage/storageAccounts/write",
"status": "Succeeded",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}"
},
"specversion": "1.0"
}]
يوضح المثال التالي المخطط لحدث ResourceWriteSuccess. يتم استخدام نفس المخطط لأحداث ResourceDeleteFailure وResourceDeleteCancel بقيم مختلفة لـ eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
"type": "Microsoft.Resources.ResourceDeleteSuccess",
"time": "2018-07-19T19:24:12.763881Z",
"id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
"data": {
"authorization": {
"scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"action": "Microsoft.Storage/storageAccounts/delete",
"evidence": {
"role": "Subscription Admin"
}
},
"claims": {
"aud": "{audience-claim}",
"iss": "{issuer-claim}",
"iat": "{issued-at-claim}",
"nbf": "{not-before-claim}",
"exp": "{expiration-claim}",
"_claim_names": "{\"groups\":\"src1\"}",
"_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
"http://schemas.microsoft.com/claims/authnclassreference": "1",
"aio": "{token}",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
"appid": "{ID}",
"appidacr": "2",
"http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
"e_exp": "262800",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
"ipaddr": "{IP-address}",
"name": "{full-name}",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
"onprem_sid": "{ID}",
"puid": "{ID}",
"http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
"http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
"uti": "{ID}",
"ver": "1.0"
},
"correlationId": "{ID}",
"httpRequest": {
"clientRequestId": "{ID}",
"clientIpAddress": "{IP-address}",
"method": "DELETE",
"url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
},
"resourceProvider": "Microsoft.Storage",
"resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"operationName": "Microsoft.Storage/storageAccounts/delete",
"status": "Succeeded",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}"
},
"specversion": "1.0"
}]
يوضح المثال التالي المخطط لحدث ResourceActionSuccess. يتم استخدام نفس المخطط لأحداث ResourceActionFailure وResourceActionCancel بقيم مختلفة لـ eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
"source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
"type": "Microsoft.Resources.ResourceActionSuccess",
"time": "2018-10-08T22:46:22.6022559Z",
"id": "{ID}",
"data": {
"authorization": {
"scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
"action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
"evidence": {
"role": "Contributor",
"roleAssignmentScope": "/subscriptions/{subscription-id}",
"roleAssignmentId": "{ID}",
"roleDefinitionId": "{ID}",
"principalId": "{ID}",
"principalType": "ServicePrincipal"
}
},
"claims": {
"aud": "{audience-claim}",
"iss": "{issuer-claim}",
"iat": "{issued-at-claim}",
"nbf": "{not-before-claim}",
"exp": "{expiration-claim}",
"aio": "{token}",
"appid": "{ID}",
"appidacr": "2",
"http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
"uti": "{ID}",
"ver": "1.0"
},
"correlationId": "{ID}",
"httpRequest": {
"clientRequestId": "{ID}",
"clientIpAddress": "{IP-address}",
"method": "POST",
"url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
},
"resourceProvider": "Microsoft.EventHub",
"resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
"operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
"status": "Succeeded",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}"
},
"specversion": "1.0"
}]
خصائص الحدث
ويحتوي الحدث على بيانات المستوى الأعلى التالية:
الخاصية | نوع | الوصف |
---|---|---|
source |
سلسلة | مسار المورد الكامل إلى مصدر الحدث. هذا الحقل غير قابل للكتابة. توفر شبكة الأحداث هذه القيمة. |
subject |
سلسلة | مسار يحدده الناشر لموضوع الحدث. |
type |
سلسلة | أحد أنواع الأحداث المسجلة لمصدر الحدث الماثل. |
time |
سلسلة | الوقت الذي يتم إنشاء الحدث استناداً إلى وقت UTC الموفر. |
id |
سلسلة | المعرف الفريد للحدث. |
data |
كائن | بيانات حدث مجموعة الموارد. |
specversion |
سلسلة | إصدار مواصفات مخطط CloudEvents. |
كائن البيانات له الخصائص التالية:
الخاصية | نوع | الوصف |
---|---|---|
authorization |
كائن | التفويض المطلوب للعملية. |
claims |
كائن | خصائص المطالبات. لمزيد من المعلومات، راجع مواصفات JWT. |
correlationId |
سلسلة | معرف عملية استكشاف الأخطاء وإصلاحها. |
httpRequest |
كائن | تفاصيل العملية. يتم تضمين هذا الكائن فقط عند تحديث مورد موجود أو حذف مورد. |
resourceProvider |
سلسلة | موفر الموارد للعملية. |
resourceUri |
سلسلة | URI المورد في العملية. |
operationName |
سلسلة | العملية التي تم اتخاذها. |
status |
سلسلة | وضع العملية. |
subscriptionId |
سلسلة | معرف الاشتراك للمورد. |
tenantId |
سلسلة | معرف المستأجر للمورد. |
البرامج التعليمية والدروس المعرفية
المسمى الوظيفي | الوصف |
---|---|
مراقبة تغييرات الجهاز الظاهري باستخدام Azure Event Grid وLogic Apps | يراقب تطبيق المنطق التغييرات التي تتم على جهاز ظاهري ويرسل رسائل إلكترونية حول هذه التغييرات. |
Azure CLI: الاشتراك في أحداث لمجموعة موارد | نموذج البرنامج النصي الذي يشترك في أحداث لمجموعة موارد. يرسل الأحداث إلى WebHook. |
Azure CLI: اشترك في أحداث مجموعة موارد وعامل تصفية لمورد | نموذج البرنامج النصي الذي يشترك في أحداث لمجموعة موارد وتصفية الأحداث لمورد واحد. |
PowerShell: الاشتراك في أحداث لمجموعة موارد | نموذج البرنامج النصي الذي يشترك في أحداث لمجموعة موارد. يرسل الأحداث إلى WebHook. |
PowerShell: الاشتراك في أحداث لمجموعة موارد والتصفية حسب مورد | نموذج البرنامج النصي الذي يشترك في أحداث لمجموعة موارد وتصفية الأحداث لمورد واحد. |
قالب إدارة الموارد: اشتراك المورد | الاشتراك في أحداث اشتراك Azure أو مجموعة موارد. يرسل الأحداث إلى WebHook. |
الخطوات التالية
- للحصول على مقدمة حول Azure Event Grid، راجع ما المقصود بشبكة الأحداث؟
- لمزيد من المعلومات حول إنشاء اشتراك Azure Event Grid، راجع مخطط اشتراك شبكة الأحداث.