Dela via


CloudEvents v1.0-schema med Azure Event Grid

Azure Event Grid har inbyggt stöd för händelser i JSON-implementeringen av CloudEvents v1.0 - och HTTP-protokollbindning. CloudEvents är en öppen specifikation för att beskriva händelsedata.

CloudEvents förenklar samverkan genom att tillhandahålla ett gemensamt händelseschema för publicering och användning av molnbaserade händelser. Det här schemat möjliggör enhetliga verktyg, standard sätt att dirigera och hantera händelser och universella sätt att deserialisera det yttre händelseschemat. Med ett gemensamt schema kan du enklare integrera arbete mellan plattformar.

CloudEvents byggs av flera medarbetare, inklusive Microsoft, via Cloud Native Computing Foundation. Den är för närvarande tillgänglig som version 1.0.

I den här artikeln beskrivs CloudEvents-schema med Event Grid.

Exempelhändelse med CloudEvents-schema

Här är ett exempel på en Azure Blob Storage-händelse i CloudEvents-format:

{
    "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"
        }
    }
}

En detaljerad beskrivning av tillgängliga fält, deras typer och definitioner i CloudEvents v1.0 finns här.

Värdena för sidhuvuden för händelser som levereras i CloudEvents-schemat och Event Grid-schemat är desamma förutom content-type. För CloudEvents-schema är "content-type":"application/cloudevents+json; charset=utf-8"det huvudvärdet . För Event Grid-schema är "content-type":"application/json; charset=utf-8"det rubrikvärdet .

Event Grid för CloudEvents

Du kan använda Event Grid för både in- och utdata för händelser i CloudEvents-schemat. Du kan använda CloudEvents för systemhändelser, till exempel Blob Storage-händelser och IoT Hub-händelser och anpassade händelser. Förutom att stödja CloudEvents stöder Event Grid ett proprietärt, obefintligt, men ändå fullt funktionellt Event Grid-händelseformat. I följande tabell beskrivs den omvandling som stöds när du använder CloudEvents- och Event Grid-format som ett indataschema i ämnen och som ett utdataschema i händelseprenumerationer. Ett Event Grid-utdataschema kan inte användas när du använder CloudEvents som indataschema eftersom CloudEvents stöder tilläggsattribut som inte stöds av Event Grid-schemat.

Indataschema Utdataschema
CloudEvents-format CloudEvents-format
Event Grid-format CloudEvents-format
Event Grid-format Event Grid-format

För alla händelsescheman kräver Event Grid validering när du publicerar till ett Event Grid-ämne och när du skapar en händelseprenumeration. Mer information finns i Säkerhet och autentisering för Event Grid.

Nästa steg

Se Använda CloudEvents v1.0-schema med Event Grid.