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 Verbindingen van Azure Relay
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:
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:
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. Het mag niet worden gebruikt voor functies die zijn geabonneerd met een resource-id, Service Bus, Event Hubs en hybride verbindingen, 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
ofMessageId
.
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.
Volgende stappen
Zie het volgende artikel voor meer informatie over het bezorgen van gebeurtenissen: