Azure Event Grid ile CloudEvents v1.0 şeması

Azure Event Grid, CloudEvents v1.0 ve HTTP protokol bağlamasının JSON uygulamasındaki olayları yerel olarak destekler. CloudEvents , olay verilerini açıklamaya yönelik açık bir belirtimdir .

CloudEvents, bulut tabanlı olayları yayımlamak ve kullanmak için ortak bir olay şeması sağlayarak birlikte çalışabilirliği basitleştirir. Bu şema tekdüzen araçlara, olayları yönlendirmenin ve işlemenin standart yollarını ve dış olay şemasını seri durumdan çıkarmanın evrensel yollarını sağlar. Ortak bir şemayla, çalışmayı platformlar arasında daha kolay tümleştirebilirsiniz.

CloudEvents, Cloud Native Computing Foundation aracılığıyla Microsoft da dahil olmak üzere birçok ortak çalışan tarafından oluşturuluyor. Şu anda sürüm 1.0 olarak kullanılabilir.

Bu makalede Event Grid ile CloudEvents şeması açıklanmaktadır.

CloudEvents şemasını kullanan örnek olay

CloudEvents biçiminde bir Azure Blob Depolama olayı örneği aşağıda verilmiştir:

{
    "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'daki kullanılabilir alanların, türlerinin ve tanımlarının ayrıntılı açıklamasını burada bulabilirsiniz.

CloudEvents şemasında ve Event Grid şemasında teslim edilen olayların üst bilgi değerleri, dışında content-typeaynıdır. CloudEvents şeması için bu üst bilgi değeri şeklindedir "content-type":"application/cloudevents+json; charset=utf-8". Event Grid şeması için bu üst bilgi değeri şeklindedir "content-type":"application/json; charset=utf-8".

CloudEvents için Event Grid

Event Grid'i CloudEvents şemasındaki olayların hem girişi hem de çıkışı için kullanabilirsiniz. CloudEvents'i Blob Depolama olayları, IoT Hub olayları ve özel olaylar gibi sistem olayları için kullanabilirsiniz. Event Grid, CloudEvents'i desteklemeye ek olarak özel, genişletilebilir olmayan ancak tamamen işlevsel bir Event Grid olay biçimini de destekler. Aşağıdaki tabloda, CloudEvents ve Event Grid biçimleri konu başlıklarında giriş şeması ve olay aboneliklerinde çıkış şeması olarak kullanılırken desteklenen dönüştürme açıklanmaktadır. CloudEvents, Event Grid şeması tarafından desteklenmeyen uzantı özniteliklerini desteklediğinden, giriş şeması olarak CloudEvents kullanılırken Event Grid çıkış şeması kullanılamaz.

Giriş şeması Çıkış şeması
CloudEvents biçimi CloudEvents biçimi
Event Grid biçimi CloudEvents biçimi
Event Grid biçimi Event Grid biçimi

Tüm olay şemaları için, Event Grid bir Event Grid konusuna yayımlarken ve olay aboneliği oluştururken doğrulama gerektirir. Daha fazla bilgi için bkz . Event Grid güvenliği ve kimlik doğrulaması.

Sonraki adımlar

Bkz . CloudEvents v1.0 şemasını Event Grid ile kullanma.