Esquema do CloudEvents v1.0 com a Grade de Eventos do Azure
A Grade de Eventos do Azure dá suporte nativo a eventos na implementação JSON do CloudEvents v1.0 e vinculação de protocolo HTTP. CloudEvents é uma especificação aberta para descrever dados de eventos.
O CloudEvents simplifica a interoperabilidade fornecendo um esquema de eventos comum para publicação e consumo de eventos baseados em nuvem. Esse esquema permite ferramentas uniformes, formas padrão de roteamento e manipulação de eventos e maneiras universais de desserializar o esquema de eventos externos. Com um esquema comum, você pode integrar mais facilmente o trabalho entre plataformas.
O CloudEvents está a ser construído por vários colaboradores, incluindo a Microsoft, através da Cloud Native Computing Foundation. Atualmente está disponível como versão 1.0.
Este artigo descreve o esquema CloudEvents com Event Grid.
Exemplo de evento usando o esquema CloudEvents
Aqui está um exemplo de um evento de Armazenamento de Blob do Azure no formato 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"
}
}
}
Uma descrição detalhada dos campos disponíveis, seus tipos e definições no CloudEvents v1.0 está disponível aqui.
Os valores de cabeçalhos para eventos entregues no esquema CloudEvents e no esquema Event Grid são os mesmos, exceto para content-type
. Para o esquema CloudEvents, esse valor de cabeçalho é "content-type":"application/cloudevents+json; charset=utf-8"
. Para o esquema de Grade de Eventos, esse valor de cabeçalho é "content-type":"application/json; charset=utf-8"
.
Grade de eventos para CloudEvents
Você pode usar a grade de eventos para entrada e saída de eventos no esquema do CloudEvents. Você pode usar o CloudEvents para eventos do sistema, como eventos de Armazenamento de Blob e eventos do Hub IoT, e eventos personalizados. Além de suportar CloudEvents, o Event Grid suporta um formato de evento proprietário, não extensível, mas totalmente funcional. A tabela a seguir descreve a transformação suportada ao usar os formatos CloudEvents e Event Grid como um esquema de entrada em tópicos e como um esquema de saída em assinaturas de eventos. Um esquema de saída de Grade de Eventos não pode ser usado ao usar o CloudEvents como um esquema de entrada porque o CloudEvents oferece suporte a atributos de extensão que não são suportados pelo esquema de Grade de Eventos.
Esquema de entrada | Esquema de saída |
---|---|
Formato CloudEvents | Formato CloudEvents |
Formato da grelha de eventos | Formato CloudEvents |
Formato da grelha de eventos | Formato da grelha de eventos |
Para todos os esquemas de eventos, a Grade de Eventos requer validação ao publicar em um tópico de Grade de Eventos e ao criar uma assinatura de evento. Para obter mais informações, consulte Segurança e autenticação da grade de eventos.
Próximos passos
Consulte Como usar o esquema do CloudEvents v1.0 com a grade de eventos.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários