Propriétés de remise personnalisées
Les abonnements aux événements vous permettent de définir des en-têtes HTTP qui sont inclus dans les événements remis. Cette fonctionnalité vous permet de définir des en-têtes personnalisés requis par une destination. Vous pouvez configurer jusqu’à 10 en-têtes lors de la création d’un abonnement aux événements. La valeur de chaque en-tête ne doit pas être supérieure à 4 096 (4 Ko) octets.
Vous pouvez définir des en-têtes personnalisés sur les événements remis aux destinations suivantes :
- webhooks
- Rubriques et files d’attente Azure Service Bus
- Hubs d'événements Azure
- Azure Functions
- Connexions hybrides Azure Relay
Lorsque vous créez un abonnement aux événements dans le portail Azure, vous pouvez utiliser l’onglet Propriétés de remise pour définir des en-têtes HTTP personnalisés. Cette page vous permet de définir des valeurs d’en-tête fixes et dynamiques.
Définition de valeurs d’en-tête statique
Pour définir des en-têtes avec une valeur fixe, indiquez le nom de l’en-tête et sa valeur dans les champs correspondants :
Vous pouvez vouloir vérifier Est-ce secret ? lorsque vous fournissez des données sensibles. La visibilité des données sensibles sur le Portail Azure dépend de l’autorisation RBAC de l’utilisateur.
Définition de valeurs d’en-tête dynamique
Vous pouvez définir la valeur d’un en-tête en fonction d’une propriété dans un événement entrant. Utilisez la syntaxe JsonPath pour faire référence à la valeur de propriété d’un événement entrant à utiliser comme valeur pour un en-tête dans des demandes sortantes. Seules les valeurs JSON de chaîne, de nombre et de booléen sont prises en charge. Par exemple, pour définir la valeur d’un en-tête nommé Channel à l’aide de la valeur du système de propriétés d’événement entrant dans les données d’événement, configurez votre abonnement aux événements comme suit :
Utiliser l’interface de ligne de commande Microsoft Azure
Utilisez le paramètre --delivery-attribute-mapping
lors de la création d’un abonnement à l’aide la commande az eventgrid event-subscription create
. Voici un exemple :
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
Exemples
Cette section fournit quelques exemples d’utilisation d’utilisation des propriétés de remise.
Définition de l’en-tête Authorization avec un jeton du porteur (exemple non normatif)
Définissez une valeur sur un en-tête Authorization pour identifier la demande auprès de votre gestionnaire de webhook. Vous pouvez définir un en-tête d’autorisation si vous ne protégez pas votre Webhook avec Microsoft Entra ID.
Nom de l’en-tête | Type d’en-tête | Valeur de l’en-tête |
---|---|---|
Authorization |
statique | BEARER SlAV32hkKG... |
Les demandes sortantes doivent maintenant contenir l’en-tête défini sur l’abonnement aux événements :
POST /home.html HTTP/1.1
Host: acme.com
Authorization: BEARER SlAV32hkKG...
Notes
La définition d’en-têtes Authorization est une option raisonnable quand votre destination est un webhook. Il ne faut pas l’utiliser pour des fonctions souscrites avec un ID de ressource, Service Bus, Event Hubs et Connexions hybrides, car ces destinations prennent en charge leurs propres schémas d’authentification quand elle sont utilisées avec Event Grid.
Exemple Service Bus
Azure Service Bus prend en charge l’utilisation des propriétés de message suivantes lors de l’envoi de messages uniques.
Nom de l’en-tête | Type d’en-tête |
---|---|
MessageId |
dynamique |
PartitionKey |
Statique ou dynamique |
SessionId |
Statique ou dynamique |
CorrelationId |
Statique ou dynamique |
Label |
Statique ou dynamique |
ReplyTo |
Statique ou dynamique |
ReplyToSessionId |
Statique ou dynamique |
To |
Statique ou dynamique |
ViaPartitionKey |
Statique ou dynamique |
Notes
- La valeur par défaut de
MessageId
est l’ID interne de l’événement Event Grid. Vous pouvez la remplacer. Par exemple :data.field
. - Vous pouvez définir uniquement
SessionId
ouMessageId
.
Vous pouvez aussi spécifier des propriétés personnalisées lors de l’envoi de messages à des files d’attente ou des rubriques Service Bus. N’utilisez pas le préfixe aeg-
, car il est utilisé par des propriétés système dans les en-têtes de message. Pour obtenir la liste des propriétés des en-têtes de message, consultez Service Bus en tant que gestionnaire d’événements
Exemple Event Hubs
Si vous devez publier des événements dans une partition spécifique au sein d’un Event Hub, définissez une propriété PartitionKey
sur votre abonnement aux événements pour spécifier la clé de partition qui identifie la partition Event Hub cible.
Nom de l’en-tête | Type d’en-tête |
---|---|
PartitionKey |
Statique ou dynamique |
Vous pouvez aussi spécifier des propriétés personnalisées lors de l’envoi de messages à un hub d’événements. N’utilisez pas le préfixe aeg-
pour le nom des propriétés, car il est utilisé par des propriétés système dans les en-têtes de message. Pour obtenir la liste des propriétés des en-têtes de message, consultez Event Hubs en tant que gestionnaire d’événements
Configurer la durée de vie des événements sortants vers les files d’attente de Stockage Azure
Pour la destination des files d’attente de Stockage Azure, vous pouvez uniquement configurer la durée de vie du message sortant, une fois celui-ci remis à une file d’attente de Stockage Azure. Si aucun temps n’est fourni, la durée de vie par défaut du message est de 7 jours. Vous pouvez également définir l’événement pour qu’il n’expire jamais.
Étapes suivantes
Pour plus d’informations sur la remise d’événements, consultez l’article suivant :