مخطط CloudEvents v1.0 مع Azure Event Grid

تدعم Azure Event Grid الأحداث في الأصل في تنفيذ JSON ل CloudEvents v1.0 وربط بروتوكول HTTP. CloudEventsمواصفة مفتوحة لوصف بيانات الحدث.

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

يتم بناء CloudEvents من قبل العديد من المتعاونين، بما في ذلك Microsoft، من خلال Cloud Native Computing Foundation. وهو متوفرة حالياً بإصدار 1.0.

توضح هذه المقالة مخطط CloudEvents مع شبكة الأحداث.

نموذج حدث يستخدم مخطط CloudEvents

فيما يلي مثال على حدث Azure Blob Storage بتنسيق CloudEvents:

{
    "specversion": "1.0",
    "type": "Microsoft.Storage.BlobCreated",  
    "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account}",
    "id": "9aeb0fdf-c01e-0131-0922-9eb54906e209",
    "time": "2019-11-18T15:13:39.4589254Z",
    "subject": "blobServices/default/containers/{storage-container}/blobs/{new-file}",    
    "data": {
        "api": "PutBlockList",
        "clientRequestId": "4c5dd7fb-2c48-4a27-bb30-5361b5de920a",
        "requestId": "9aeb0fdf-c01e-0131-0922-9eb549000000",
        "eTag": "0x8D76C39E4407333",
        "contentType": "image/png",
        "contentLength": 30699,
        "blobType": "BlockBlob",
        "url": "https://gridtesting.blob.core.windows.net/testcontainer/{new-file}",
        "sequencer": "000000000000000000000000000099240000000000c41c18",
        "storageDiagnostics": {
            "batchId": "681fe319-3006-00a8-0022-9e7cde000000"
        }
    }
}

يتوفر هناوصف مفصل للحقول المتوفرة وأنواعها وتعريفاتها في CloudEvents v1.0.

قيم العناوين للأحداث تسليمها في مخطط CloudEvents ومخطط شبكة الأحداث هي نفسها باستثناء content-type. بالنسبة لمخطط CloudEvents، تكون قيمة العنوان هذه هي "content-type":"application/cloudevents+json; charset=utf-8". بالنسبة إلى Event Grid schema، تكون قيمة العنوان هذه هي "content-type":"application/json; charset=utf-8".

شبكة الأحداث لـ CloudEvents

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

مخطط الإدخال مخطط الإخراج
تنسيق CloudEvents تنسيق CloudEvents
تنسيق شبكات الأحداث تنسيق CloudEvents
تنسيق شبكات الأحداث تنسيق شبكات الأحداث

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

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

راجع كيفية استخدام مخطط CloudEvents v1.0 مع مخطط الأحداث.