Propriedades de entrega personalizadas
As assinaturas de evento permitem que você configure cabeçalhos HTTP que estão incluídos nos eventos entregues. Essa funcionalidade permite que você defina cabeçalhos personalizados que são exigidos por um destino. Você pode configurar até dez cabeçalhos ao criar uma assinatura de evento. Cada valor de cabeçalho não deve ser maior que 4.096 (4K) bytes.
Você pode definir os cabeçalhos personalizados nos eventos que são entregues aos seguintes destinos:
- Webhooks
- Tópicos e filas do Barramento de Serviço do Azure
- Hubs de eventos do Azure
- Funções do Azure
- Conexões Híbridas da Retransmissão do Azure
Ao criar uma assinatura de evento no portal do Azure, você pode usar a guia Propriedades de entrega para definir cabeçalhos HTTP personalizados. Esta página permite que você defina valores de cabeçalho fixos e dinâmicos.
Definir valores de cabeçalho estáticos
Para definir cabeçalhos com um valor fixo, informe o nome do cabeçalho e seu valor nos campos correspondentes:
Talvez você queira verificar É segredo? ao seus informar dados confidenciais. A visibilidade dos dados confidenciais no portal do Azure depende da permissão RBAC do usuário.
Definir valores de cabeçalho dinâmicos
Você pode definir o valor de um cabeçalho com base em uma propriedade em um evento de entrada. Use a sintaxe JsonPath para fazer referência a um valor da propriedade do evento de entrada a ser usado como o valor de um cabeçalho em solicitações de saída. Só há suporte para valores JSON de cadeia de caracteres, número e booliano. Por exemplo, para definir o valor de um cabeçalho chamado Canal usando o valor do sistema de propriedades de evento de entrada nos dados do evento, configure sua assinatura de evento da seguinte maneira:
Usar a CLI do Azure
Use o parâmetro --delivery-attribute-mapping
ao criar a assinatura por meio do comando az eventgrid event-subscription create
. Veja um exemplo:
az eventgrid event-subscription create -n es1 \
--source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1
--endpoint-type storagequeue \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/sa1/queueservices/default/queues/q1 \
--enable-advanced-filtering-on-arrays true
--delivery-attribute-mapping staticproperty1 static somestaticvalue2 true
--delivery-attribute-mapping staticproperty2 static somestaticvalue3 false
--delivery-attribute-mapping dynamicproperty1 dynamic data.key1
Exemplos
Esta seção apresenta alguns exemplos de como usar as propriedades de entrega.
Configurando o cabeçalho de autorização com um token de portador (exemplo não normativo)
Defina um valor para um cabeçalho de autorização para identificar a solicitação com o manipulador de webhook. Um cabeçalho de autorização poderá ser definido se você não estiver protegendo o webhook com o Microsoft Entra ID.
Nome do cabeçalho | Tipo de cabeçalho | Valor do cabeçalho |
---|---|---|
Authorization |
Estático | BEARER SlAV32hkKG... |
As solicitações de saída agora devem conter o cabeçalho definido na assinatura do evento:
POST /home.html HTTP/1.1
Host: acme.com
Authorization: BEARER SlAV32hkKG...
Observação
Definir cabeçalhos de autorização é uma opção sensata quando o destino é um webhook. Ele não deve ser usado para funções assinadas com uma ID de recurso, Barramento de Serviço, Hubs de Eventos e conexões híbridas, pois esses destinos permitem seus próprios esquemas de autenticação quando usados com a Grade de Eventos.
Exemplo de Barramento de Serviço
O Barramento de Serviço do Azure permite o uso das seguintes propriedades de mensagem ao enviar mensagens individuais.
Nome do cabeçalho | Tipo de cabeçalho |
---|---|
MessageId |
Dinâmico |
PartitionKey |
Estático ou dinâmico |
SessionId |
Estático ou dinâmico |
CorrelationId |
Estático ou dinâmico |
Label |
Estático ou dinâmico |
ReplyTo |
Estático ou dinâmico |
ReplyToSessionId |
Estático ou dinâmico |
To |
Estático ou dinâmico |
ViaPartitionKey |
Estático ou dinâmico |
Observação
- O valor padrão de
MessageId
é a ID interna do evento da Grade de Eventos. Você pode substituí-lo. Por exemplo,data.field
. - Você só pode definir
SessionId
ouMessageId
.
Você também pode especificar propriedades personalizadas ao enviar mensagens para filas ou tópicos do Barramento de Serviço. Não use o prefixo aeg-
, pois ele é usado pelas propriedades do sistema em cabeçalhos de mensagens. Para ver uma lista de propriedades do cabeçalho de mensagem, confira Barramento de Serviço como um manipulador de eventos
Exemplo de Hubs de Eventos
Se você precisar publicar eventos em uma partição específica dentro de um hub de eventos, defina a propriedade PartitionKey
na sua assinatura de evento para especificar a chave de partição que identifica a partição do hub de eventos de destino.
Nome do cabeçalho | Tipo de cabeçalho |
---|---|
PartitionKey |
Estático ou dinâmico |
Você também pode especificar propriedades personalizadas ao enviar mensagens para um hub de eventos. Não use o prefixo aeg-
para o nome da propriedade, pois ele é usado pelas propriedades do sistema em cabeçalhos de mensagens. Para ver uma lista das propriedades do cabeçalho de mensagem, confira Hubs de Eventos como um manipulador de eventos
Configurar a vida útil em eventos de saída para filas do Armazenamento do Microsoft Azure
Para o destino das filas do Armazenamento do Microsoft Azure, você só pode configurar o tempo de vida que a mensagem de saída terá depois de ser entregue a uma fila do Armazenamento do Microsoft Azure. Se nenhum tempo for fornecido, a vida útil padrão da mensagem será de 7 dias. Você também pode definir que o evento nunca deve expirar.
Próximas etapas
Para obter mais informações sobre essa entrega, confira o seguinte artigo: