Delen via


CloudEvents v1.0-schema met Azure Event Grid

Azure Event Grid biedt systeemeigen ondersteuning voor gebeurtenissen in de JSON-implementatie van CloudEvents v1.0 en HTTP-protocolbinding. CloudEvents is een open specificatie voor het beschrijven van gebeurtenisgegevens.

CloudEvents vereenvoudigt de interoperabiliteit door een gemeenschappelijk gebeurtenisschema te bieden voor het publiceren en gebruiken van cloudgebeurtenissen. Dit schema biedt uniforme tooling, standaard manieren voor routering en verwerking van gebeurtenissen en universele manieren om het buitenste gebeurtenisschema te deserialiseren. Met een gemeenschappelijk schema kunt u eenvoudiger werk op verschillende platforms integreren.

CloudEvents wordt gebouwd door verschillende medewerkers, waaronder Microsoft, via de Cloud Native Computing Foundation. Het is momenteel beschikbaar als versie 1.0.

In dit artikel wordt het CloudEvents-schema beschreven met Event Grid.

Voorbeeldgebeurtenis met cloudEvents-schema

Hier volgt een voorbeeld van een Azure Blob Storage-gebeurtenis in de CloudEvents-indeling:

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

Hier vindt u een gedetailleerde beschrijving van de beschikbare velden, de bijbehorende typen en definities in CloudEvents v1.0.

De headerwaarden voor gebeurtenissen die worden geleverd in het CloudEvents-schema en het Event Grid-schema zijn hetzelfde, met uitzondering van content-type. Voor het CloudEvents-schema is "content-type":"application/cloudevents+json; charset=utf-8"die headerwaarde . Voor het Event Grid-schema is "content-type":"application/json; charset=utf-8"die headerwaarde .

Event Grid voor CloudEvents

U kunt Event Grid gebruiken voor zowel invoer als uitvoer van gebeurtenissen in het CloudEvents-schema. U kunt CloudEvents gebruiken voor systeemevenementen, zoals Blob Storage-gebeurtenissen en IoT Hub-gebeurtenissen en aangepaste gebeurtenissen. Naast het ondersteunen van CloudEvents ondersteunt Event Grid een eigen, nonextensible, maar volledig functionele Event Grid-gebeurtenisindeling. In de volgende tabel wordt de transformatie beschreven die wordt ondersteund bij het gebruik van CloudEvents en Event Grid-indelingen als invoerschema in onderwerpen en als een uitvoerschema in gebeurtenisabonnementen. Een Event Grid-uitvoerschema kan niet worden gebruikt bij het gebruik van CloudEvents als invoerschema omdat CloudEvents extensiekenmerken ondersteunt die niet worden ondersteund door het Event Grid-schema.

Invoerschema Uitvoerschema
CloudEvents-indeling CloudEvents-indeling
Event Grid-indeling CloudEvents-indeling
Event Grid-indeling Event Grid-indeling

Voor alle gebeurtenisschema's vereist Event Grid validatie bij het publiceren naar een Event Grid-onderwerp en bij het maken van een gebeurtenisabonnement. Zie Event Grid-beveiliging en -verificatie voor meer informatie.

Volgende stappen

Zie CloudEvents v1.0-schema gebruiken met Event Grid.