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.