Auf Englisch lesen

Freigeben über


Benutzerdefinierte Übermittlungseigenschaften

Mit Ereignisabonnements können Sie HTTP-Header einrichten, die in übermittelte Ereignisse eingeschlossen werden. Diese Funktion ermöglicht es Ihnen, benutzerdefinierte Header festzulegen, die für ein Ziel erforderlich sind. Beim Erstellen eines Ereignisabonnements können bis zu zehn Header festgelegt werden. Die einzelnen Headerwert dürfen nicht größer als 4.096 Bytes (4K) sein.

Sie können benutzerdefinierte Header für die Ereignisse festlegen, die an die folgenden Ziele übermittelt werden:

  • Webhooks
  • Azure Service Bus-Themen und -Warteschlangen
  • Azure Event Hubs
  • Azure Functions
  • Azure Relay-Hybridverbindungen

Hinweis

Nicht konforme Werte in bekannten Headern führen dazu, dass der Header bei der Übermittlung von Ereignissen an Webhookziele verworfen wird, jedoch nicht während der Überprüfung des Webhooks.

When creating an event subscription in the Azure portal, you can use the Delivery Properties tab to set custom HTTP headers. Auf dieser Seite können feste und dynamische Headerwerte festgelegt werden.

Festlegen statischer Headerwerte

Wenn Sie Header mit einem festen Wert festlegen möchten, geben Sie den Namen des Headers und dessen Wert in die entsprechenden Felder ein:

Übermittlungseigenschaften: statisch

You might want to check Is secret? when you're providing sensitive data. Die Sichtbarkeit vertraulicher Daten im Azure-Portal hängt von der RBAC-Berechtigung der Benutzer*innen ab.

Festlegen dynamischer Headerwerte

Sie können den Wert eines Headers auf der Grundlage einer Eigenschaft in einem eingehenden Ereignis festlegen. Verwenden Sie die JsonPath-Syntax, um auf den Eigenschaftswert eines eingehenden Ereignisses zu verweisen, der als Wert für einen Header in ausgehenden Anforderungen verwendet werden soll. Es werden nur JSON-Werte von Zeichenfolgen, Zahlen und booleschen Werten unterstützt. For example, to set the value of a header named Channel using the value of the incoming event property system in the event data, configure your event subscription in the following way:

Übermittlungseigenschaften: dynamisch

Mithilfe der Azure-Befehlszeilenschnittstelle

Verwenden Sie den --delivery-attribute-mapping-Parameter, wenn Sie ein Abonnement mit dem az eventgrid event-subscription create-Befehl erstellen. Hier sehen Sie ein Beispiel:

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

Examples

Dieser Abschnitt enthält ein paar Beispiele für die Verwendung von Übermittlungseigenschaften.

Festlegen des Autorisierungsheaders mit einem Bearertoken (nicht normatives Beispiel)

Legen Sie einen Wert für einen Autorisierungsheader fest, um die Anforderung mit Ihrem Webhook-Handler zu identifizieren. Ein Autorisierungsheader kann festgelegt werden, wenn Sie nicht Ihren Webhook mit Microsoft Entra ID schützen.

Header name Header type Header value
Authorization Static BEARER SlAV32hkKG...

Ausgehende Anforderungen sollten jetzt den für das Ereignisabonnement festgelegten Header enthalten:

POST /home.html HTTP/1.1
Host: acme.com

Authorization: BEARER SlAV32hkKG...

Hinweis

Das Definieren von Autorisierungsheadern ist sinnvoll, wenn es sich bei dem Ziel um einen Webhook handelt. Für mit einer Ressourcen-ID abonnierte Funktionen, Service Bus, Event Hubs und Hybridverbindungen sollte diese Option nicht verwendet werden, da diese Ziele bei Verwendung mit Event Grid ihre eigenen Authentifizierungsschemas unterstützen.

Service Bus-Beispiel

Von Azure Service Bus wird die Verwendung der folgenden Nachrichteneigenschaften beim Senden einzelner Nachrichten unterstützt.

Header name Header type
MessageId Dynamic
PartitionKey Statisch oder dynamisch
SessionId Statisch oder dynamisch
CorrelationId Statisch oder dynamisch
Label Statisch oder dynamisch
ReplyTo Statisch oder dynamisch
ReplyToSessionId Statisch oder dynamisch
To Statisch oder dynamisch
ViaPartitionKey Statisch oder dynamisch

Hinweis

  • Der Standardwert von MessageId ist die interne ID des Event Grid Ereignisses. Sie kann außer Kraft gesetzt werden. Beispiel: data.field.
  • Sie können nur SessionId oder MessageId festlegen.

Sie können auch benutzerdefinierte Eigenschaften angeben, wenn Sie Nachrichten an Service Bus-Warteschlangen oder -Themen senden. Verwenden Sie das Präfix aeg- nicht, da es von Systemeigenschaften in Nachrichtenheadern verwendet wird. Eine Liste der Nachrichtenheadereigenschaften finden Sie unter Service Bus als Ereignishandler.

Event Hubs-Beispiel

Wenn Sie Ereignisse für eine bestimmte Partition innerhalb eines Event Hub veröffentlichen müssen, legen Sie die PartitionKey-Eigenschaft für Ihr Ereignisabonnement fest, um den Partitionsschlüssel zur Identifizierung der Event Hub-Zielpartition anzugeben.

Header name Header type
PartitionKey Statisch oder dynamisch

Sie können auch benutzerdefinierte Eigenschaften angeben, wenn Sie Nachrichten an einen Event Hub senden. Verwenden Sie das Präfix aeg- nicht für den Eigenschaftennamen, da es von Systemeigenschaften in Nachrichtenheadern verwendet wird. Eine Liste der Nachrichtenheadereigenschaften finden Sie unter Event Hubs als Ereignishandler.

Konfigurieren der Gültigkeitsdauer für ausgehende Ereignisse in Azure Storage-Warteschlangen

Für das Azure Storage-Warteschlangenziel können Sie nur die Gültigkeitsdauer der ausgehenden Nachricht nach Übermittlung an eine Azure Storage-Warteschlange konfigurieren. Ohne Zeitangabe beträgt die Gültigkeitsdauer der Nachricht standardmäßig sieben Tage. Sie können auch festlegen, dass das Ereignis nie ablaufen soll.

Übermittlungseigenschaften: Speicherwarteschlange

Next steps

Weitere Informationen zur Ereignisübermittlung finden Sie in den folgenden Artikeln: