Inspetor de CloudEvents

Cole um evento CloudEvents ou cabeçalhos ce-* com o corpo para revisar campos ausentes e conflitos de dados. Copie o JSON normalizado ou os cabeçalhos HTTP de modo binário.

Funciona localmente no seu navegador
Esta ferramenta processa todos os dados localmente no seu navegador.
JSON CloudEvent ou cabeçalhos HTTPCole um evento estruturado ou cabeçalhos ce-* seguidos de um corpo opcional.

Use JSON estruturado ou modo binário HTTP. A ferramenta não publica eventos nem chama um endpoint.

Evento estruturado normalizado

Como inspecionar um CloudEvent

O inspetor de CloudEvents lê um evento por vez em qualquer uma das duas formas definidas pelo binding HTTP: um envelope JSON (modo estruturado) ou um bloco de cabeçalhos ce-* com corpo opcional (modo binário). Ele confere os atributos de contexto segundo o CloudEvents 1.0 e reescreve o mesmo evento como JSON estruturado normalizado e como cabeçalhos em modo binário.

Tudo roda nesta aba. A ferramenta não publica evento, não chama endpoint nem consulta registro de esquemas, e o registro de rede continua vazio enquanto você cola e converte.

  1. Cole um envelope JSON do CloudEvents, ou um bloco de cabeçalhos como ce-specversion: 1.0 seguido de ce-id, ce-source e ce-type, com o corpo depois de uma linha em branco. Nomes de cabeçalho não diferenciam maiúsculas de minúsculas e uma linha de requisição como POST /events HTTP/1.1 é ignorada.
  2. Clique em Validar e converter. Carregar exemplo preenche o painel com um evento que já passa em todas as verificações.
  3. Leia primeiro o resumo: campos principais presentes de quatro, quantidade de extensões, tamanho do payload e modo de entrada detectado. A lista de achados logo abaixo aponta cada atributo ausente, com tipo errado ou fora do padrão.
  4. Copie o evento estruturado normalizado ou os cabeçalhos em modo binário HTTP pelo botão acima de cada painel e clique em Limpar antes do próximo evento.

Verificações e saída

JSON estruturado e modo binário HTTP

A entrada que começa com chave é interpretada como envelope JSON. Qualquer outro conteúdo é lido como bloco de cabeçalhos, e um bloco cujo Content-Type seja application/cloudevents+json é decodificado como JSON estruturado com o corpo abaixo dos cabeçalhos.

No modo binário o corpo é tudo o que vem depois da primeira linha em branco. Quando o tipo de conteúdo declara JSON o corpo vira objeto; caso contrário permanece string, de modo que payload de texto e payload JSON não se misturam.

O que é verificado no CloudEvents 1.0

Os quatro atributos obrigatórios specversion, id, source e type são separados entre ausentes ou vazios e com tipo incorreto; specversion precisa ser 1.0, source precisa ser uma referência URI não vazia e sem espaços, e time precisa ser um timestamp RFC 3339 com o deslocamento. data e data_base64 são mutuamente exclusivos, data_base64 precisa ser base64 válido, e um evento sem payload gera aviso e não erro, porque a especificação permite.

Atributos de extensão são contados e preservados. Um null de JSON em atributo de contexto é tratado como não definido, conforme a especificação do formato JSON: subject: null desaparece da saída normalizada, enquanto data: null é mantido como payload nulo explícito.

As duas saídas

O evento estruturado normalizado lista primeiro os atributos principais, depois as extensões em ordem alfabética e por último o payload. O botão Copiar leva o painel na íntegra, então o resultado pode ir direto para um arquivo de teste ou um diff.

Os cabeçalhos em modo binário trazem um cabeçalho ce-* por atributo de contexto, extensões incluídas, e um cabeçalho Content-Type apenas quando há payload a descrever. O payload vem depois de uma linha em branco; data_base64 é copiado sem alteração e o tamanho informado é o dos bytes decodificados, não o do texto base64.

Limites

Esta é uma verificação de envelope. O payload nunca é validado contra um esquema, assinaturas CloudEvents não são verificadas e regras específicas de broker ficam de fora. Os nomes dos atributos de extensão também não são conferidos contra as regras de nomenclatura da especificação.

Um resultado correto significa que o evento está bem formado, não que o receptor vai aceitá-lo. Se a integração continua falhando, compare o evento com a documentação do seu broker ou com os testes de conformidade da especificação antes de mexer no produtor.

Ferramentas recentes: