Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un sujet personnalisé Event Grid est un point de terminaison auquel vos applications envoient leurs propres événements, afin qu’Event Grid puisse les acheminer vers des abonnés intéressés. Cet article vous montre comment publier des événements sur un sujet personnalisé en utilisant des clés d’accès, qui authentifient vos requêtes sans configurer Microsoft Entra ID. Vous obtenez le point de terminaison du sujet et la clé d’accès, formatez une charge utile d’événement, envoyez un événement d’exemple, puis relisez la réponse.
L’Accord de niveau de service (SLA) ne s’applique qu’aux postes correspondant au format attendu.
Prerequisites
- Un sujet personnalisé d’Azure Event Grid. Pour en créer un, voir Envoyer des événements personnalisés vers un point web en utilisant le portail Azure.
- Azure CLI, Azure PowerShell, ou accès au portail Azure pour récupérer le point de terminaison du sujet et la clé d’accès.
- Un outil capable d’envoyer des requêtes HTTP POST, telles que
curl.
Remarque
L’authentification Microsoft Entra offre un meilleur support de l’authentification que l’authentification par clé d’accès ou par signature d’accès partagée (SAS). En utilisant l'authentification Microsoft Entra, le fournisseur d'identité Microsoft Entra valide l'identité, donc vous ne manipulez pas les clés dans votre code. Vous bénéficiez également de fonctionnalités de sécurité intégrées à la Plateforme d'identités Microsoft, telles que l'accès conditionnel, qui contribuent à améliorer la sécurité de votre application. Pour plus d'informations, consultez Authentifier les clients de publication à l'aide de Microsoft Entra ID.
Obtenir le point de terminaison de la rubrique
Pour publier des événements sur un sujet personnalisé, envoyez une requête HTTP POST en utilisant le format URI suivant : https://<topic-endpoint>?api-version=2018-01-01. Par exemple, un URI valide est https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Pour obtenir le point d’accès d’un sujet personnalisé, utilisez le portail Azure, Azure CLI ou Azure PowerShell.
Trouvez le point final du sujet dans l'onglet Aperçu de la page Event Grid Topic du portail Azure.
Obtenir la clé d’accès
Dans la demande, incluez une valeur d’en-tête nommée aeg-sas-key qui contient une clé pour l’authentification. Par exemple, une valeur d’en-tête valide est aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Pour obtenir la clé d’un sujet personnalisé, utilisez le portail Azure, Azure CLI ou Azure PowerShell.
Pour obtenir la clé d’accès du sujet personnalisé, sélectionnez l’onglet Clés d’accès sur la page Event Grid Topic du portail Azure.
Formatez la charge utile de l’événement
Formatez chaque événement comme un objet JSON. Les champs de premier niveau sont les mêmes que les événements définis par ressource standard, et la data propriété contient les propriétés propres à votre sujet personnalisé. En tant qu’éditeur, vous définissez le contenu de l’objet data . Pour une description de chaque propriété, voir Azure Event Grid event schema.
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Gardez à l’esprit ces limites de taille lorsque vous construisez la charge utile :
- Le tableau d’événements peut avoir une taille totale allant jusqu’à 1 Mo.
- La taille maximale pour un événement unique est de 1 Mo. Les événements dépassant 64 Ko sont facturés par tranches de 64 Ko.
- Un lot peut contenir un maximum de 5 000 événements.
L’exemple suivant montre une charge utile d’événement valide :
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Envoyer un événement d’exemple
Cette section montre comment envoyer un exemple d’événement à la rubrique personnalisée.
Dans le Portail Azure, lancez Cloud Shell.
Dans Cloud Shell, exécutez les commandes à partir d’Azure PowerShell ou d’Azure CLI dans la session Bash ou PowerShell.
Passer en revue la réponse
Après avoir posté sur le point de départ du sujet, vous recevez une réponse. La réponse est un code de réponse HTTP standard. Certaines réponses courantes sont :
| Résultats | Réponse |
|---|---|
| Succès | 200 OK |
| Les données d’événement ont un format incorrect | 400 Demande incorrecte |
| Clé d’accès non valide | 401 Non autorisé |
| Point de terminaison incorrecte | 404 Introuvable |
| La taille du tableau ou de l’événement dépasse la limite autorisée | 413 charge utile maximale dépassée |
Pour les erreurs, le corps du message utilise le format suivant :
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Contenu connexe
- Surveiller la distribution des messages Event Grid : Découvrez comment suivre et résoudre les problèmes liés à la distribution des événements.
- Sécurité et authentification de la grille d’événements : Comprenez comment sécuriser vos événements avec des clés d’authentification.
- Schéma d’abonnement Event Grid : Conseils étape par étape pour créer un abonnement Event Grid.