Dela via


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:

Leveransegenskaper – statisk

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:

Leveransegenskaper – dynamisk

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 eller MessageId.

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.

Leveransegenskaper – lagringskö

Nästa steg

Mer information om händelseleverans finns i följande artikel: