Sdílet prostřednictvím


Schéma CloudEvents v1.0 se službou Azure Event Grid

Azure Event Grid nativně podporuje události v implementaci JSON vazby protokolu CloudEvents v1.0 a HTTP. CloudEvents je otevřená specifikace pro popis dat událostí.

CloudEvents zjednodušuje interoperabilitu tím, že poskytuje společné schéma událostí pro publikování a využívání cloudových událostí. Toto schéma umožňuje jednotné nástroje, standardní způsoby směrování a zpracování událostí a univerzální způsoby deserializace vnějšího schématu událostí. Pomocí běžného schématu můžete snadněji integrovat práci napříč platformami.

CloudEvents je sestavený několika spolupracovníky, včetně Microsoftu , prostřednictvím Cloud Native Computing Foundation. Aktuálně je k dispozici ve verzi 1.0.

Tento článek popisuje schéma CloudEvents se službou Event Grid.

Ukázková událost s využitím schématu CloudEvents

Tady je příklad události Azure Blob Storage ve formátu 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"
        }
    }
}

Tady najdete podrobný popis dostupných polí, jejich typů a definic v CloudEvents verze 1.0.

Hodnoty hlaviček pro události doručené ve schématu CloudEvents a schéma Event Gridu jsou stejné s výjimkou content-type. Pro schéma CloudEvents je "content-type":"application/cloudevents+json; charset=utf-8"tato hodnota hlavičky . Pro schéma Event Gridu je "content-type":"application/json; charset=utf-8"tato hodnota hlavičky .

Event Grid pro CloudEvents

Event Grid můžete použít pro vstup i výstup událostí ve schématu CloudEvents. CloudEvents můžete použít pro systémové události, jako jsou události služby Blob Storage a události služby IoT Hub a vlastní události. Kromě podpory CloudEvents podporuje Event Grid proprietární, neextensible, ale plně funkční formát událostí Event Gridu. Následující tabulka popisuje transformaci podporovanou při použití CloudEvents a Event Gridu jako vstupního schématu v tématech a jako výstupní schéma v odběrech událostí. Výstupní schéma Event Gridu nejde použít při použití CloudEvents jako vstupního schématu, protože CloudEvents podporuje atributy rozšíření, které schéma Event Gridu nepodporuje.

Vstupní schéma Výstupní schéma
Formát CloudEvents Formát CloudEvents
Formát Event Gridu Formát CloudEvents
Formát Event Gridu Formát Event Gridu

Pro všechna schémata událostí vyžaduje Event Grid ověření při publikování do tématu Event Gridu a při vytváření odběru událostí. Další informace najdete v tématu Zabezpečení a ověřování služby Event Grid.

Další kroky

Viz Použití schématu CloudEvents v1.0 se službou Event Grid.