Delen via


Aangepaste leveringseigenschappen

Met gebeurtenisabonnementen kunt u HTTP-headers instellen die zijn opgenomen in bezorgde gebeurtenissen. Met deze mogelijkheid kunt u aangepaste headers instellen die vereist zijn voor een bestemming. U kunt maximaal 10 headers instellen bij het maken van een gebeurtenisabonnement. Elke headerwaarde mag niet groter zijn dan 4096 (4K) bytes.

U kunt aangepaste headers instellen voor de gebeurtenissen die worden geleverd aan de volgende bestemmingen:

  • Webhooks
  • Azure Service Bus-onderwerpen en -wachtrijen
  • Azure Event Hubs
  • Azure Functions
  • Hybride azure Relay-Verbinding maken ions

Wanneer u een gebeurtenisabonnement maakt in Azure Portal, kunt u het tabblad Leveringseigenschappen gebruiken om aangepaste HTTP-headers in te stellen. Op deze pagina kunt u vaste en dynamische headerwaarden instellen.

Statische headerwaarden instellen

Als u kopteksten met een vaste waarde wilt instellen, geeft u de naam van de header en de bijbehorende waarde op in de bijbehorende velden:

Delivery properties - static

Misschien wilt u controleren of Is geheim is? wanneer u gevoelige gegevens oplevert. De zichtbaarheid van gevoelige gegevens in Azure Portal is afhankelijk van de RBAC-machtiging van de gebruiker.

Dynamische headerwaarden instellen

U kunt de waarde van een header instellen op basis van een eigenschap in een binnenkomende gebeurtenis. Gebruik de JsonPath-syntaxis om te verwijzen naar de eigenschapswaarde van een binnenkomende gebeurtenis die moet worden gebruikt als de waarde voor een header in uitgaande aanvragen. Alleen JSON-waarden van tekenreeks, getal en booleaanse waarde worden ondersteund. Als u bijvoorbeeld de waarde van een header met de naam Kanaal wilt instellen met behulp van de waarde van het systeem voor binnenkomende gebeurteniseigenschappen in de gebeurtenisgegevens, configureert u uw gebeurtenisabonnement op de volgende manier:

Delivery properties - dynamic

Azure CLI gebruiken

Gebruik de parameter bij het --delivery-attribute-mapping maken van een abonnement met behulp van de az eventgrid event-subscription create opdracht. Hier volgt een voorbeeld:

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

Voorbeelden

In deze sectie vindt u enkele voorbeelden van het gebruik van leveringseigenschappen.

De autorisatieheader instellen met een bearer-token (niet-normatief voorbeeld)

Stel een waarde in op een autorisatieheader om de aanvraag te identificeren met uw Webhook-handler. Er kan een autorisatieheader worden ingesteld als u uw webhook niet beveiligt met Microsoft Entra-id.

Headernaam Kopteksttype Headerwaarde
Authorization Statisch BEARER SlAV32hkKG...

Uitgaande aanvragen moeten nu de headerset voor het gebeurtenisabonnement bevatten:

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

Authorization: BEARER SlAV32hkKG...

Notitie

Het definiëren van autorisatieheaders is een verstandige optie wanneer uw bestemming een Webhook is. Deze mag niet worden gebruikt voor functies die zijn geabonneerd met een resource-id, Service Bus, Event Hubs en Hybrid Verbinding maken ions, omdat deze bestemmingen hun eigen verificatieschema's ondersteunen wanneer ze worden gebruikt met Event Grid.

Service Bus-voorbeeld

Azure Service Bus ondersteunt het gebruik van de volgende berichteigenschappen bij het verzenden van één bericht.

Headernaam Kopteksttype
MessageId Dynamisch
PartitionKey Statisch of dynamisch
SessionId Statisch of dynamisch
CorrelationId Statisch of dynamisch
Label Statisch of dynamisch
ReplyTo Statisch of dynamisch
ReplyToSessionId Statisch of dynamisch
To Statisch of dynamisch
ViaPartitionKey Statisch of dynamisch

Notitie

  • De standaardwaarde is MessageId de interne id van de Event Grid-gebeurtenis. U kunt het overschrijven. Bijvoorbeeld data.field.
  • U kunt alleen instellen SessionId of MessageId.

U kunt ook aangepaste eigenschappen opgeven bij het verzenden van berichten naar Service Bus-wachtrijen of -onderwerpen. Gebruik het aeg- voorvoegsel niet omdat het wordt gebruikt door systeemeigenschappen in berichtkoppen. Zie Service Bus als gebeurtenis-handler voor een lijst met eigenschappen van berichtkoppen

Voorbeeld van Event Hubs

Als u gebeurtenissen wilt publiceren naar een specifieke partitie binnen een Event Hub, stelt u de PartitionKey eigenschap voor uw gebeurtenisabonnement in om de partitiesleutel op te geven die de doel-Event Hub-partitie identificeert.

Headernaam Kopteksttype
PartitionKey Statisch of dynamisch

U kunt ook aangepaste eigenschappen opgeven bij het verzenden van berichten naar een Event Hub. Gebruik het aeg- voorvoegsel niet voor de naam van de eigenschap, omdat dit wordt gebruikt door systeemeigenschappen in berichtkoppen. Zie Event Hubs als een gebeurtenis-handler voor een lijst met berichtkopeigenschappen

Time to Live configureren voor uitgaande gebeurtenissen naar Azure Storage-wachtrijen

Voor de doelwachtrijen van Azure Storage kunt u alleen de time-to-live configureren van het uitgaande bericht zodra het is bezorgd in een Azure Storage-wachtrij. Als er geen tijd is opgegeven, is de standaardtijd van het bericht 7 dagen. U kunt ook instellen dat de gebeurtenis nooit verloopt.

Delivery properties - storage queue

Volgende stappen

Zie het volgende artikel voor meer informatie over het bezorgen van gebeurtenissen: