Partilhar via


Publicar eventos em tópicos personalizados da Grade de Eventos do Azure usando chaves de acesso

Este artigo fornece orientação sobre como publicar eventos em tópicos personalizados da Grade de Eventos do Azure usando chaves de acesso. Você aprende sobre o formato de ponto de extremidade necessário, cabeçalhos de autenticação, esquema de eventos e como enviar eventos de exemplo.

O Contrato de Nível de Serviço (SLA) só se aplica a postagens que correspondam ao formato esperado.

Nota

A autenticação do Microsoft Entra fornece um suporte de autenticação superior ao oferecido pela chave de acesso ou pela autenticação de token SAS (Assinatura de Acesso Compartilhado). Com a autenticação do Microsoft Entra, a identidade é validada em relação ao provedor de identidade do Microsoft Entra. Como desenvolvedor, você não precisará manipular chaves em seu código se usar a autenticação do Microsoft Entra. Você também se beneficiará de todos os recursos de segurança incorporados à plataforma de identidade da Microsoft, como o Acesso Condicional, que podem ajudá-lo a melhorar a postura de segurança do seu aplicativo. Para obter mais informações, consulte Autenticar clientes de publicação usando o Microsoft Entra ID.

Ponto final

Para publicar eventos em um tópico personalizado, envie uma solicitação HTTP POST usando o seguinte formato de URI: https://<topic-endpoint>?api-version=2018-01-01. Por exemplo, um URI válido é: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Para aceder ao ponto de extremidade de um tópico personalizado, utilize o portal do Azure, o Azure CLI ou o Azure PowerShell.

Você pode encontrar o ponto de extremidade do tópico na guia Visão geral da página Tópico da Grade de Eventos no portal do Azure.

Captura de ecrã da página de tópicos da Grelha de Eventos no portal do Azure com o ponto de extremidade do tópico realçado.

Na solicitação, inclua um valor de cabeçalho chamado aeg-sas-key que contenha uma chave para autenticação. Por exemplo, um valor de cabeçalho válido é aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Para obter a chave para um tópico personalizado usando a CLI do Azure, use:

Para obter a chave de acesso para o tópico personalizado, selecione a guia Teclas de acesso na página Tópico da Grade de Eventos no portal do Azure.

Captura de ecrã que mostra o separador Teclas de Acesso da página de tópicos da Grelha de Eventos no portal do Azure.

Esquema de dados de evento para tópicos personalizados

Para tópicos personalizados, os dados de nível superior contêm os mesmos campos que os eventos padrão definidos por recursos. Uma dessas propriedades é uma data propriedade que contém propriedades exclusivas para o tópico personalizado. Como um editor de eventos, você determina as propriedades desse objeto de dados. Aqui está o esquema:

[
  {
    "id": string,    
    "eventType": string,
    "subject": string,
    "eventTime": string-in-date-time-format,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string
  }
]

Para obter uma descrição dessas propriedades, consulte Esquema de eventos da Grade de Eventos do Azure. Quando um cliente envia eventos para um tópico de Grade de Eventos, a matriz pode ter um tamanho total de até 1 MB. O tamanho máximo permitido para um evento também é de 1 MB. Eventos acima de 64 KB são cobrados em incrementos de 64 KB. Quando um cliente recebe eventos em um lote, o número máximo permitido de eventos é 5.000 por lote.

Por exemplo, um esquema de dados de evento válido é:

[{
  "id": "1807",
  "eventType": "recordInserted",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  },
  "dataVersion": "1.0"
}]

Enviar um exemplo de evento

Esta seção mostra como enviar um evento de exemplo para o tópico personalizado.

  1. No portal do Azure, inicie o Cloud Shell.

  2. No Cloud Shell, execute os comandos do Azure PowerShell ou da CLI do Azure na sessão Bash ou PowerShell .

    Captura de tela que mostra o Cloud Shell no portal do Azure.

Response

Depois de postar no ponto de extremidade do tópico, você recebe uma resposta. A resposta é um código de resposta HTTP padrão. Algumas respostas comuns são:

Result Response
Com êxito 200 OK
Os dados do evento têm formato incorreto 400 Pedido Incorreto
Chave de acesso inválida 401 Não Autorizado
Parâmetro de avaliação incorreto 404 Não Encontrado
Matriz ou evento excede os limites de tamanho 413 Payload Demasiado Grande

Para erros, o corpo da mensagem tem o seguinte formato:

{
    "error": {
        "code": "<HTTP status code>",
        "message": "<description>",
        "details": [{
            "code": "<HTTP status code>",
            "message": "<description>"
    }]
  }
}