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.
Azure Event Grid est un service de routage d’événements pour le cloud. Azure Functions est l’un des gestionnaires d’événements pris en charge.
Dans ce guide de démarrage rapide, vous utilisez le Portail Azure pour créer une rubrique personnalisée, vous abonner à cette rubrique et déclencher l’événement pour afficher le résultat. Vous envoyez les événements à une fonction Azure.
Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.
Prérequis
- Visual Studio Code installé sur l’une des plateformes prises en charge
- Extension Azure Functions
Créer une fonction avec un déclencheur Event Grid à l’aide de Visual Studio Code
Dans cette section, vous utilisez Visual Studio Code pour créer une fonction avec un déclencheur Event Grid.
Créer une fonction
Ouvrez Visual Studio Code.
Dans la barre de gauche, sélectionnez Azure.
Dans le volet gauche, dans la section ESPACE de travail , sélectionnez Azure Functions dans la barre de commandes. Sélectionnez Ensuite Créer une fonction.
Sélectionnez un dossier dans lequel vous souhaitez enregistrer le code de fonction.
Pour la commande Créer un projet , pour Language, sélectionnez C#. Sélectionnez Enter (Entrer).
Pour le runtime .NET, sélectionnez .NET 8.0 Isolé LTS, puis sélectionnez Entrée.
Pour Le modèle de la fonction, sélectionnez le déclencheur Azure Event Grid. Sélectionnez Enter (Entrer).
Pour le nom de la fonction, entrez un nom pour votre fonction. Sélectionnez Enter (Entrer).
Pour Espace de noms, entrez un nom pour l’espace de noms de la fonction. Sélectionnez Enter (Entrer).
Ouvrez le projet dans la fenêtre actuelle ou dans une nouvelle fenêtre, ou ajoutez-le à un espace de travail.
Attendez que la fonction soit créée. L’état de la création de la fonction apparaît dans le coin inférieur droit.
Affichez le code du fichier YourFunctionName.cs, en particulier la méthode
Run. Il imprime les informations à l’aide d’un enregistreur d’événements.[Function(nameof(MyEventGridTriggerFunc))] public void Run([EventGridTrigger] CloudEvent cloudEvent) { _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject); }
Déployer la fonction sur Azure
Cliquez sur le bouton Azure dans la barre de gauche si le volet Azure n’est pas déjà ouvert.
Pointez la souris sur votre projet et cliquez sur le bouton Déployer dans Azure.
Dans la liste déroulante de la palette de commandes, sélectionnez + Créer une application de fonction, puis sélectionnez Entrée.
Pour Nom, entrez un nom global unique pour la nouvelle application de fonction. Sélectionnez Enter (Entrer).
Sous Pile d’exécution, sélectionnez .NET 8 Isolé.
Sous Emplacement pour vos ressources Azure, sélectionnez une région proche de vous.
L’état de la création de l’application de fonction apparaît sous l’onglet AZURE du volet inférieur. Une fois l’application de fonction créée, l’état du déploiement de la fonction que vous avez créée localement sur l’application de fonction s’affiche.
Une fois le déploiement réussi, développez le message Créer une application de fonction réussie . Sélectionnez Cliquer pour afficher la ressource. Confirmez que votre fonction est sélectionnée dans la section Ressources du volet gauche.
Cliquez avec le bouton droit sur votre fonction, puis sélectionnez Ouvrir dans le portail.
Connectez-vous à Azure si nécessaire et vérifiez que la page Application de fonction s’affiche pour votre fonction.
Dans le volet inférieur, sélectionnez votre fonction.
Basculez vers l’onglet Journaux . Gardez cet onglet ouvert afin que vous puissiez voir les messages enregistrés lorsque vous envoyez un événement à une rubrique Event Grid plus loin dans cet article.
Créer une rubrique personnalisée
Une rubrique Event Grid fournit un point de terminaison défini par l’utilisateur vers lequel vous envoyez vos événements.
Dans un nouvel onglet de la fenêtre du navigateur web, connectez-vous au Portail Azure.
Dans la barre de recherche de la rubrique, recherchez Rubriques Event Grid, puis sélectionnez Rubriques Event Grid.
Sur la page Rubriques, sélectionnez + Créer dans la barre de commandes.
Dans le volet Créer une rubrique, procédez comme suit :
Pour Abonnement, sélectionnez votre abonnement Azure.
Sous Groupe de ressources, sélectionnez le même groupe de ressources que dans les étapes précédentes.
Sous Nom, entrez un nom unique pour la rubrique personnalisée. Le nom de la rubrique doit être unique, car une entrée DNS (Domain Name System) la représente.
N’utilisez pas le nom indiqué dans l’image d’exemple. Au lieu de cela, créez votre propre nom. Il doit comporter de 3 à 50 caractères et contenir uniquement les valeurs a-z, A-Z, 0-9 et un trait d’union (
-).Sous Région, sélectionnez un emplacement pour la rubrique Event Grid.
Sélectionnez Revoir + créer.
Sous l’onglet Vérifier + créer, passez en revue les paramètres, puis sélectionnez Créer.
Une fois la rubrique personnalisée créée, sélectionnez Accéder à la ressource pour ouvrir la page Rubrique Event Grid pour cette rubrique.
S’abonner à une rubrique personnalisée
Vous vous abonnez à une rubrique Event Grid pour indiquer à Event Grid les événements qui vous intéressent, et où les envoyer.
Sur la page Rubrique Event Grid de votre rubrique personnalisée, sélectionnez + Abonnement à des événements sur la barre d’outils.
Dans le volet Créer un abonnement à des événements, effectuez les étapes suivantes :
Sous Nom, entrez un nom pour l’abonnement à des événements.
Pour Schéma d’Événement, sélectionnez Schéma Cloud Event v1.0.
Comme Type de point de terminaison, sélectionnez Fonction Azure.
Sélectionnez Configurer un point de terminaison.
Dans le volet Sélectionner une fonction Azure, effectuez les étapes suivantes :
Sous Abonnement, sélectionnez l’abonnement Azure qui a la fonction.
Sous Groupe de ressources, sélectionnez le groupe de ressources qui a la fonction.
Sous Application de fonction, sélectionnez votre application de fonction.
Sous Fonction, sélectionnez la fonction dans l’application de fonction.
Sélectionnez Confirmer la sélection.
Cette étape est facultative, mais recommandée pour les scénarios de production. Dans le volet Créer un abonnement à des événements, accédez à l’onglet Fonctionnalités supplémentaires et définissez des valeurs pour Nb max. d’événements par lot et Taille de lot par défaut en kilo-octets.
Le traitement par lot peut vous offrir un débit élevé. Pour les événements Max par lot, définissez le nombre maximal d’événements qu’un abonnement inclut dans un lot. L’option Taille de lot par défaut en kilo-octets définit la limite supérieure par défaut de la taille de lot, qui peut être dépassée si un seul événement est supérieur à ce seuil.
Dans le volet Créer un abonnement à des événements, sélectionnez Créer.
Envoyer un événement à votre rubrique
Déclenchez maintenant un événement pour voir comment Event Grid distribue le message à votre point de terminaison. Utilisez Azure CLI ou Azure PowerShell pour envoyer un événement de test à votre rubrique personnalisée. En règle générale, une application ou un service Azure envoie les données d’événements.
Le premier exemple utilise Azure CLI. Il obtient l’URL et la clé de la rubrique personnalisée, ainsi que les exemples de données d’événements. Utilisez le nom de votre rubrique personnalisée pour topicname. Des exemples de données d’événement sont créés.
L’élément data du fichier JSON est la charge utile de l’événement. N’importe quel fichier JSON bien construit peut être placé dans ce champ. Vous pouvez aussi utiliser le champ objet pour un routage et un filtrage avancés.
L’outil cURL envoie des requêtes HTTP. Dans cet article, vous utilisez cURL pour envoyer l’événement à la rubrique personnalisée.
Azure CLI (Interface de ligne de commande Azure)
Dans le portail Azure, sélectionnez Cloud Shell. Si vous êtes en mode Azure PowerShell, sélectionnez Basculer vers Bash.
Définissez les variables
topicnameetresourcegroupnamequi seront utilisées dans les commandes.Remplacez
TOPICNAMEpar le nom de votre sujet Event Grid.topicname="TOPICNAME"Remplacez par
RESOURCEGROUPNAMEle nom du groupe de ressources Azure qui contient la rubrique Event Grid.resourcegroupname="RESOURCEGROUPNAME"Utilisez la commande suivante pour obtenir le point de terminaison de la rubrique. Après avoir copié et collé la commande, mettez à jour le nom de la rubrique et le nom du groupe de ressources avant d’exécuter la commande.
endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --query "endpoint" --output tsv)Exécutez la commande suivante afin d’obtenir la clé pour la rubrique personnalisée. Après avoir copié et collé la commande, mettez à jour le nom de la rubrique et le nom du groupe de ressources avant d’exécuter la commande.
key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --query "key1" --output tsv)Copiez l’instruction suivante avec la définition d’événement, puis sélectionnez Entrée.
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'Exécutez la commande cURL suivante pour publier l’événement :
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpointVérifiez que le message de la fonction apparaît sous l’onglet Journaux d’activité de votre fonction sur le Portail Azure.
Azure PowerShell
Le deuxième exemple utilise Azure PowerShell pour effectuer des étapes similaires.
Dans le portail Azure, sélectionnez Cloud Shell ou accédez à la page Azure Cloud Shell. Dans le coin supérieur gauche de la fenêtre Cloud Shell, sélectionnez Basculer vers PowerShell.
Définissez les variables suivantes. Après avoir copié et collé chaque commande, mettez à jour le nom de la rubrique et le nom du groupe de ressources avant d’exécuter la commande.
$resourceGroupName = "RESOURCEGROUPNAME"$topicName = "TOPICNAME"Exécutez les commandes suivantes afin d’obtenir le point de terminaison et les clés pour la rubrique :
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicNamePréparez l’événement. Copiez et exécutez ces instructions dans la fenêtre Cloud Shell :
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct the body by using a hash table $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert the event body from a hash table to a JSON object #Append square brackets to the converted JSON payload because they're expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"Utilisez le cmdlet
Invoke-WebRequestpour envoyer l’événement :Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}Vérifiez que le message de la fonction apparaît sous l’onglet Journaux d’activité de votre fonction sur le Portail Azure.
Vérifier que la fonction a reçu l’événement
Vous avez déclenché l’événement, et Event Grid a envoyé le message au point de terminaison que vous avez configuré lors de l’abonnement. Vous pouvez maintenant vérifier si la fonction l’a reçu.
Ouvrez l’onglet Appel de votre fonction.
Pour afficher les détails, sélectionnez l’appel.
Vous pouvez également utiliser l’onglet Journaux .
Nettoyer les ressources
Si vous envisagez de continuer à utiliser cet événement, ne supprimez pas les ressources que vous avez créées dans cet article. Dans le cas contraire, supprimez les ressources que vous avez créées au cours de cet article.
Dans la zone de recherche du portail Azure, entrez groupes de ressources , puis sélectionnez Groupes de ressources.
Sélectionnez le groupe de ressources pour ouvrir le volet qui affiche ses détails.
Dans la barre d’outils, sélectionnez Supprimer le groupe de ressources.
Confirmez la suppression en entrant le nom du groupe de ressources, puis sélectionnez Supprimer.
La fenêtre Cloud Shell a créé et utilisé l’autre groupe de ressources qui apparaît sur la page Groupes de ressources. Supprimez ce groupe de ressources si vous ne prévoyez pas d’utiliser la fenêtre Cloud Shell ultérieurement.
Contenu connexe
Maintenant que vous savez créer des rubriques et des abonnements d’événements, vous pouvez en apprendre davantage sur Event Grid et ce qu’il peut vous offrir :
- À propos d’Event Grid
- Router des événements Stockage Blob Azure vers un point de terminaison web personnalisé
- Surveiller les modifications d’une machine virtuelle avec Azure Event Grid et Azure Logic Apps
- Diffuser en continu des Big Data dans un entrepôt de données
Pour en savoir plus sur la publication d’événements vers Event Grid et la consommation d’événements à partir d’Event Grid à l’aide de différents langages de programmation, consultez les exemples suivants :