Propriedades de entrega personalizadas
As subscrições de eventos permitem-lhe configurar cabeçalhos HTTP incluídos em eventos entregues. Esse recurso permite que você defina cabeçalhos personalizados que são exigidos por um destino. Você pode configurar até 10 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 cabeçalhos personalizados nos eventos que são entregues para os seguintes destinos:
- Webhooks
- Tópicos e filas do Barramento de Serviço do Azure
- Hubs de Eventos do Azure
- Funções do Azure
- Azure Relay Hybrid Connections
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 definir valores de cabeçalho fixos e dinâmicos.
Definindo valores de cabeçalho estático
Para definir cabeçalhos com um valor fixo, forneça o nome do cabeçalho e seu valor nos campos correspondentes:
Você pode querer verificar É secreto? quando você está fornecendo dados confidenciais. A visibilidade de dados confidenciais no portal do Azure depende da permissão RBAC do usuário.
Definição de 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 se referir ao valor da propriedade de um evento de entrada a ser usado como o valor de um cabeçalho em solicitações de saída. Somente valores JSON de string, number e boolean são suportados. Por exemplo, para definir o valor de um cabeçalho chamado Channel usando o valor do sistema de propriedades de evento de entrada nos dados do evento, configure sua assinatura de evento da seguinte maneira:
Utilizar a CLI do Azure
Use o --delivery-attribute-mapping
parâmetro ao criar uma assinatura usando o az eventgrid event-subscription create
comando. Eis 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 fornece alguns exemplos de uso de propriedades de entrega.
Definindo o cabeçalho Authorization com um token de portador (exemplo não normativo)
Defina um valor como um cabeçalho Authorization para identificar a solicitação com seu manipulador Webhook. Um cabeçalho de Autorização pode ser definido se você não estiver protegendo seu 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...
Nota
Definir cabeçalhos de autorização é uma opção sensata quando seu destino é um Webhook. Ele não deve ser usado para funções inscritas com uma ID de recurso, Service Bus, Hubs de Eventos e Conexões Híbridas, pois esses destinos oferecem suporte a seus próprios esquemas de autenticação quando usados com a Grade de Eventos.
Exemplo do Service Bus
O Barramento de Serviço do Azure dá suporte ao uso das seguintes propriedades de mensagem ao enviar mensagens únicas.
Nome do cabeçalho | Tipo de cabeçalho |
---|---|
MessageId |
Dinâmica |
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 |
Nota
- O valor padrão de
MessageId
é a ID interna do evento Event Grid. Você pode substituí-lo. Por exemplo,data.field
. - Você só pode definir um
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 nos cabeçalhos das mensagens. Para obter uma lista de propriedades de cabeçalho de mensagem, consulte Service Bus 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 PartitionKey
propriedade em 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 nos cabeçalhos das mensagens. Para obter uma lista de propriedades de cabeçalho de mensagem, consulte Hubs de Eventos como um manipulador de eventos
Configurar o tempo para viver eventos de saída para as Filas de Armazenamento do Azure
Para o destino das Filas de Armazenamento do Azure, você só pode configurar o tempo de vida que a mensagem de saída terá depois de ser entregue a uma fila de Armazenamento do Azure. Se nenhum tempo for fornecido, o tempo padrão da mensagem para viver é de 7 dias. Você também pode definir o evento para nunca expirar.
Próximos passos
Para obter mais informações sobre a entrega de eventos, consulte o seguinte artigo: