Anpassade leveransegenskaper
Med händelseprenumerationer kan du konfigurera HTTP-huvuden som ingår i levererade händelser. Med den här funktionen kan du ange anpassade rubriker som krävs av ett mål. Du kan konfigurera upp till 10 huvuden när du skapar en händelseprenumeration. Varje rubrikvärde får inte vara större än 4 096 byte (4 000).
Du kan ange anpassade rubriker för de händelser som levereras till följande mål:
- Webhook
- Ämnen och köer i Azure Service Bus
- Azure Event Hubs
- Azure Functions
- Azure Relay Hybrid-anslutningar
När du skapar en händelseprenumeration i Azure Portal kan du använda fliken Leveransegenskaper för att ange anpassade HTTP-huvuden. På den här sidan kan du ange fasta och dynamiska rubrikvärden.
Ange värden för statiskt huvud
Om du vill ange rubriker med ett fast värde anger du namnet på rubriken och dess värde i motsvarande fält:
Du kanske vill kontrollera Är hemlighet? när du tillhandahåller känsliga data. Synligheten för känsliga data på Azure Portal beror på användarens RBAC-behörighet.
Ange värden för dynamiskt sidhuvud
Du kan ange värdet för ett huvud baserat på en egenskap i en inkommande händelse. Använd JsonPath-syntax för att referera till en inkommande händelses egenskapsvärde som ska användas som värde för ett huvud i utgående begäranden. Endast JSON-värden för sträng, tal och booleskt värde stöds. Om du till exempel vill ange värdet för en rubrik med namnet Kanal med värdet för det inkommande händelseegenskapssystemet i händelsedata konfigurerar du händelseprenumerationen på följande sätt:
Använda Azure CLI
Använd parametern --delivery-attribute-mapping
när du skapar en prenumeration med kommandot az eventgrid event-subscription create
. Här är ett exempel:
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
Exempel
Det här avsnittet innehåller några exempel på hur du använder leveransegenskaper.
Ange auktoriseringshuvudet med en ägartoken (icke-normativt exempel)
Ange ett värde till ett auktoriseringshuvud för att identifiera begäran med Webhook-hanteraren. Du kan ange ett auktoriseringshuvud om du inte skyddar webhooken med Microsoft Entra-ID.
Huvudnamn | Rubriktyp | Huvudvärde |
---|---|---|
Authorization |
Statisk | BEARER SlAV32hkKG... |
Utgående begäranden bör nu innehålla huvudet som angetts för händelseprenumerationen:
POST /home.html HTTP/1.1
Host: acme.com
Authorization: BEARER SlAV32hkKG...
Kommentar
Att definiera auktoriseringshuvuden är ett lämpligt alternativ när målet är en Webhook. Den bör inte användas för funktioner som prenumererar med ett resurs-ID, Service Bus, Event Hubs och Hybridanslutningar eftersom dessa mål stöder sina egna autentiseringsscheman när de används med Event Grid.
Service Bus-exempel
Azure Service Bus stöder användning av följande meddelandeegenskaper när du skickar enskilda meddelanden.
Huvudnamn | Rubriktyp |
---|---|
MessageId |
Dynamisk |
PartitionKey |
Statisk eller dynamisk |
SessionId |
Statisk eller dynamisk |
CorrelationId |
Statisk eller dynamisk |
Label |
Statisk eller dynamisk |
ReplyTo |
Statisk eller dynamisk |
ReplyToSessionId |
Statisk eller dynamisk |
To |
Statisk eller dynamisk |
ViaPartitionKey |
Statisk eller dynamisk |
Kommentar
- Standardvärdet
MessageId
för är det interna ID:t för Event Grid-händelsen. Du kan åsidosätta den. Exempel:data.field
- Du kan bara ange antingen
SessionId
ellerMessageId
.
Du kan också ange anpassade egenskaper när du skickar meddelanden till Service Bus-köer eller -ämnen. Använd inte prefixet aeg-
eftersom det används av systemegenskaper i meddelandehuvuden. En lista över egenskaper för meddelanderubriker finns i Service Bus som händelsehanterare
Event Hubs-exempel
Om du behöver publicera händelser till en specifik partition i en händelsehubb anger du PartitionKey
egenskapen för din händelseprenumeration för att ange partitionsnyckeln som identifierar målhändelsehubbpartitionen.
Huvudnamn | Rubriktyp |
---|---|
PartitionKey |
Statisk eller dynamisk |
Du kan också ange anpassade egenskaper när du skickar meddelanden till en händelsehubb. Använd inte prefixet aeg-
för egenskapsnamnet eftersom det används av systemegenskaper i meddelandehuvuden. En lista över egenskaper för meddelandehuvud finns i Event Hubs som händelsehanterare
Konfigurera time to live på utgående händelser till Azure Storage-köer
För Azure Storage Queues-målet kan du bara konfigurera det time-to-live som det utgående meddelandet kommer att ha när det har levererats till en Azure Storage-kö. Om ingen tid anges är meddelandets standardtid att leva 7 dagar. Du kan också ange att händelsen aldrig ska upphöra att gälla.
Nästa steg
Mer information om händelseleverans finns i följande artikel: