Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece diretrizes sobre como publicar eventos em tópicos personalizados da Grade de Eventos do Azure usando chaves de acesso. Você aprenderá 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 às publicações que correspondem ao formato esperado.
Observação
A autenticação do Microsoft Entra dá 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 no 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 integrados à plataforma de identidade da Microsoft, como o Acesso Condicional, que podem ajudá-lo a melhorar a postura de segurança do aplicativo. Para saber mais, confira Autenticar clientes de publicação usando o Microsoft Entra ID.
Ponto de extremidade
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 obter o ponto de extremidade de um tópico personalizado, use o portal do Azure, a CLI do Azure 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.
Cabeçalho
Na solicitação, inclua um valor de cabeçalho chamado aeg-sas-key que contém 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 Chave de acesso na página Tópico da Grade 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 do que os eventos definidos pelo recurso padrão. Uma dessas propriedades é uma propriedade data que contém propriedades exclusivas para o tópico personalizado. Como publicador de eventos, você determina as propriedades para esse 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 evento de Grade de Eventos do Azure. Quando um cliente envia eventos para um tópico da Grade de Eventos, a matriz pode ter um tamanho total de até 1 MB. O tamanho máximo permitido para um evento também é 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 é de 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 evento de exemplo
Esta seção mostra como enviar um evento de exemplo para o tópico personalizado.
No portal do Azure, inicie o Cloud Shell.
No Cloud Shell, execute os comandos do Azure PowerShell ou da CLI do Azure no Bash ou na sessão do PowerShell.
Resposta
Após a postagem para o ponto de extremidade do tópico, você receberá uma resposta. A resposta é um código de resposta HTTP padrão. Algumas respostas comuns são:
| Result | Resposta |
|---|---|
| Sucesso | 200 OK |
| Os dados de evento têm formato incorreto | 400 Solicitação Inválida |
| Chave de acesso inválida | 401 Não Autorizado |
| Ponto de extremidade incorreto | 404 Não Encontrado |
| Matriz ou evento excede os limites de tamanho | O conteúdo 413 é muito 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>"
}]
}
}
Conteúdo relacionado
- Monitorar a entrega de mensagens da Grade de Eventos: saiba como acompanhar e solucionar problemas de entregas de eventos.
- Segurança e autenticação da Grade de Eventos: entenda como proteger seus eventos com chaves de autenticação.
- Esquema de assinatura da Grade de Eventos: diretrizes passo a passo sobre como criar uma assinatura da Grade de Eventos.