Destinations des gestionnaires d’événements dans Event Grid sur Kubernetes
Un gestionnaire d’événements est un système qui expose un point de terminaison et qui est la destination d’événements envoyés par Event Grid. Un gestionnaire d’événements qui reçoit un événement agit sur celui-ci et utilise la charge utile de l’événement pour exécuter une logique, ce qui peut entraîner l’occurrence de nouveaux événements.
La façon de configurer Event Grid pour envoyer des événements à une destination se fait via la création d’un abonnement aux événements. Vous pouvez le faire via Azure CLI, le SDK de gestion ou en utilisant des appels HTTPS directs avec la version de l’API 2020-10-15-preview.
En général, Event Grid sur Kubernetes peut envoyer des événements à n’importe quelle destination via des Webhooks. Les Webhooks sont des points de terminaison HTTP(S) exposés par un service ou une charge de travail à laquelle Event Grid a accès. Le webhook peut être une charge de travail hébergée dans le même cluster, dans le même espace réseau, sur le cloud, localement ou à n’importe quel endroit accessible par Event Grid.
Important
Event Grid sur Kubernetes avec Azure Arc est actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Via des Webhooks, Event Grid prend en charge les destinations suivantes hébergées sur un cluster Kubernetes :
- Azure App Service sur Kubernetes avec Azure Arc.
- Azure Functions sur Kubernetes avec Azure Arc.
- Azure Logic Apps sur Kubernetes avec Azure Arc.
En plus des Webhooks, Event Grid sur Kubernetes peut envoyer des événements aux destinations suivantes hébergées sur Azure :
- Azure Event Grid en utilisant des Webhooks
- Azure Functions en utilisant des Webhooks uniquement
- Azure Event Hubs en utilisant son ID de ressource Azure Resource Manager
- Des rubriques ou des files d’attente en utilisant son ID de ressource Azure Resource Manager
- File d’attente Stockage Azure en utilisant son ID de ressource Azure Resource Manager
Parité des fonctionnalités
Event Grid sur Kubernetes offre un bon niveau de parité des fonctionnalités avec la prise en charge par Azure Event Grid des abonnements aux événements. La liste suivante énumère les principales différences en matière de fonctionnalités des abonnements aux événements. Outre ces différences, vous pouvez utiliser l’API REST version 2020-10-15-preview d’Azure Event Grid comme référence lors de la gestion des abonnements aux événements sur Event Grid sur Kubernetes.
- Utilisez l’API REST version 2020-10-15-preview.
- Le déclencheur Azure Event Grid pour Azure Functions n’est pas pris en charge. Vous pouvez utiliser un type de destination de Webhook pour distribuer des événements à Azure Functions.
- Il n’y a pas de prise en charge de l’emplacement des lettres mortes. Cela signifie qu’il ne vous est pas possible d’utiliser
properties.deadLetterDestination
dans votre charge utile d’abonnement aux événements. - Les connexions hybrides d’Azure Relay en tant que destination ne sont pas encore prises en charge.
- Seul le schéma CloudEvents est pris en charge. La valeur du schéma pris en charge est « CloudEventSchemaV1_0 ». Le schéma CloudEvents est extensible et s’appuie sur des standards ouverts.
- Les étiquettes (properties.labels) ne sont pas applicables à Event Grid sur Kubernetes. Par conséquent, elles ne sont pas disponibles.
- La distribution avec identité des ressources n’est pas prise en charge. Par conséquent, toutes les propriétés de l’identité des abonnements aux événements ne sont pas prises en charge.
- La validation de point de terminaison de destination n’est pas encore prise en charge.
Filtrage des événements dans les abonnements aux événements
L’autre aspect important de la configuration d’un abonnement aux événements est de sélectionner les événements qui sont destinés à être distribués à une destination. Pour plus d’informations, consultez Filtrage des événements.
Exemples de configurations de destination
Voici quelques exemples de configurations de base en fonction de la destination prévue.
WebHook
Pour publier sur un point de terminaison WebHook, définissez endpointType
sur WebHook
et indiquez :
endpointUrl : URL du point de terminaison du Webhook.
{ "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "<your-webhook-endpoint>" } } } }
Azure Event Grid
Pour publier sur un point de terminaison cloud Azure Event Grid, définissez endpointType
sur WebHook
et indiquez :
endpointUrl : URL de rubrique Azure Event Grid dans le cloud avec le paramètre de version de l’API défini sur 2018-01-01 et
aeg-sas-key
défini sur la clé SAS encodée au format URL.{ "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "<your-event-grid-cloud-topic-endpoint-url>?api-version=2018-01-01&aeg-sas-key=urlencoded(sas-key-value)" } } } }
Event Hubs
Pour publier sur un Event Hubs, définissez endpointType
sur eventHub
et fournissez :
resourceId : ID de ressource pour le hub d’événements spécifique.
{ "properties": { "destination": { "endpointType": "eventHub", "properties": { "resourceId": "<Azure Resource ID of your event hub>" } } } }
Files d’attente Service Bus
Pour publier sur une file d’attente Service Bus, définissez endpointType
sur serviceBusQueue
et spécifiez :
resourceId : ID de ressource pour la file d’attente Service Bus spécifique.
{ "properties": { "destination": { "endpointType": "serviceBusQueue", "properties": { "resourceId": "<Azure Resource ID of your Service Bus queue>" } } } }
Rubriques Service Bus
Pour publier sur une rubrique Service Bus, définissez endpointType
sur serviceBusTopic
et spécifiez :
resourceId : ID de ressource pour la rubrique Service Bus spécifique.
{ "properties": { "destination": { "endpointType": "serviceBusTopic", "properties": { "resourceId": "<Azure Resource ID of your Service Bus topic>" } } } }
Files d’attente de stockage
Pour publier dans une file d’attente de stockage, définissez endpointType
sur storageQueue
et indiquez :
queueName : nom de la file d’attente Stockage Azure sur laquelle vous publiez.
resourceID : ID de ressource Azure du compte de stockage qui contient la file d’attente.
{ "properties": { "destination": { "endpointType": "storageQueue", "properties": { "queueName": "<your-storage-queue-name>", "resourceId": "<Azure Resource ID of your Storage account>" } } } }
Étapes suivantes
- Ajoutez la configuration du filtre à votre abonnement aux événements pour sélectionner les événements à distribuer.
- Pour plus d’informations sur les schémas que prend en charge Event Grid sur Azure Arc pour Kubernetes, consultez Event Grid sur Kubernetes - Schémas d’événements.