Débogage local lors du déclenchement de fonctions Azure Event GridAzure Function Event Grid Trigger Local Debugging

Cet article montre comment déboguer une fonction locale qui gère un événement Azure Event Grid déclenché par un compte de stockage.This article demonstrates how to debug a local function that handles an Azure Event Grid event raised by a storage account.

PrérequisPrerequisites

  • Créer ou utiliser une application de fonction existanteCreate or use an existing function app
  • Créer ou utiliser un compte de stockage existantCreate or use an existing storage account
  • Télécharger ngrok pour permettre à Azure d’appeler une fonction localeDownload ngrok to allow Azure to call your local function

Créer une fonctionCreate a new function

Ouvrez votre application de fonction dans Visual Studio, cliquez avec le bouton droit sur le nom du projet dans l’Explorateur de solutions, puis cliquez sur Ajouter > Nouvelle fonction Azure.Open your function app in Visual Studio and, right-click on the project name in the Solution Explorer and click Add > New Azure Function.

Dans la fenêtre Nouvelle fonction Azure, sélectionnez Déclencheur Event Grid, puis cliquez sur OK.In the New Azure Function window, select Event Grid trigger and click OK.

Créer une fonction

Une fois la fonction créée, ouvrez le fichier de code et copiez l’URL commentée en haut du fichier.Once the function is created, open the code file and copy the URL commented out at the top of the file. Cet emplacement est utilisé lorsque vous configurez le déclencheur Event Grid.This location is used when configuring the Event Grid trigger.

Emplacement de copie

Définissez ensuite un point d’arrêt sur la ligne commençant par log.LogInformation.Then, set a breakpoint on the line that begins with log.LogInformation.

Définir le point d’arrêt

Appuyez sur F5 pour démarrer une session de débogage.Next, press F5 to start a debugging session.

Autoriser Azure à appeler votre fonction localeAllow Azure to call your local function

Pour arrêter une fonction en cours de débogage sur votre ordinateur, vous devez permettre à Azure de communiquer avec votre fonction locale à partir du cloud.To break into a function being debugged on your machine, you must enable a way for Azure to communicate with your local function from the cloud.

L’utilitaire ngrok permet à Azure d’appeler la fonction en cours d’exécution sur votre ordinateur.The ngrok utility provides a way for Azure to call the function running on your machine. Démarrez ngrok en utilisant la commande suivante :Start ngrok using the following command:

ngrok http -host-header=localhost 7071

Pendant la configuration de l’utilitaire, la fenêtre de commande doit ressembler à la capture d’écran suivante :As the utility is set up, the command window should look similar to the following screenshot:

Démarrer ngrok

Copiez l’URL HTTPS générée lorsque ngrok est exécuté.Copy the HTTPS URL generated when ngrok is run. Cette valeur est utilisée lors de la configuration du point de terminaison de l’événement Event Grid.This value is used when configuring the event grid event endpoint.

Ajouter une clé de stockageAdd a storage event

Ouvrez le portail Azure, accédez à un compte de stockage, puis cliquez sur l’option Événements.Open the Azure portal and navigate to a storage account and click on the Events option.

Ajouter un événement de compte de stockage

Dans la fenêtre Événements, cliquez sur le bouton Abonnement à un événement.In the Events window, click on the Event Subscription button. Dans la fenêtre Abonnement à un événement, cliquez sur la liste déroulante Type de point de terminaison et sélectionnez Webhook.In the Even Subscription window, click on the Endpoint Type dropdown and select Web Hook.

Sélectionner un type d’abonnement

Une fois le type de point de terminaison configuré, cliquez sur Sélectionner un point de terminaison pour configurer la valeur du point de terminaison.Once the endpoint type is configured, click on Select an endpoint to configure the endpoint value.

Sélectionner un type de point de terminaison

La valeur Point de terminaison de l’abonné se compose de trois valeurs distinctes.The Subscriber Endpoint value is made up from three different values. Le préfixe correspond à l’adresse URL HTTPS générée par ngrok.The prefix is the HTTPS URL generated by ngrok. Le reste de l’URL est fourni par l’URL qui se trouve dans le fichier de code de fonction, avec le nom de la fonction ajouté à la fin.The remainder of the URL comes from the URL found in the function code file, with the function name added at the end. En commençant par l’URL provenant du fichier de code de fonction, l’URL ngrok remplace http://localhost:7071 et le nom de la fonction remplace {functionname}.Starting with the URL from the function code file, the ngrok URL replaces http://localhost:7071 and the function name replaces {functionname}.

L’URL finale doit ressembler à la capture d’écran suivante :The following screenshot shows how the final URL should look:

Sélection de point de terminaison

Une fois que vous avez entré la valeur appropriée, cliquez sur Confirmer la sélection.Once you've entered the appropriate value, click Confirm Selection.

Important

Chaque fois que vous démarrez ngrok, l’URL HTTPS est régénérée et la valeur change.Every time you start ngrok, the HTTPS URL is regenerated and the value changes. Par conséquent, vous devez créer un abonnement d’événement chaque fois que vous exposez votre fonction à Azure via ngrok.Therefore you must create a new Event Subscription each time you expose your function to Azure via ngrok.

Charger un fichierUpload a file

Vous pouvez maintenant charger un fichier sur votre compte de stockage afin de déclencher un événement Event Grid pour votre fonction locale à gérer.Now you can upload a file to your storage account to trigger an Event Grid event for your local function to handle.

Ouvrez l’Explorateur Stockage et connectez-vous à votre compte de stockage.Open Storage Explorer and connect to the your storage account.

  • Développer Conteneurs d'objets blobExpand Blob Containers
  • Cliquez avec le bouton droit et sélectionnez Conteneurs d’objets blob.Right-click and select Create Blob Container.
  • Nommez le conteneur testName the container test
  • Sélectionnez le conteneur testSelect the test container
  • Cliquez sur le bouton TéléchargerClick the Upload button
  • Cliquez sur Charger des fichiersClick Upload Files
  • Sélectionnez un fichier et chargez-le dans le conteneur d’objets blobSelect a file and upload it to the blob container

Déboguer la fonctionDebug the function

Quand Event Grid reconnaît qu'un nouveau fichier est chargé dans le conteneur de stockage, le point d’arrêt est atteint dans votre fonction locale.Once the Event Grid recognizes a new file is uploaded to the storage container, the break point is hit in your local function.

Démarrer ngrok

Nettoyer les ressourcesClean up resources

Pour nettoyer les ressources créées dans cet article, supprimez le conteneur test de votre compte de stockage.To clean up the resources created in this article, delete the test container in your storage account.

Étapes suivantesNext steps