Partager via


Tester votre gestionnaire Event Grid localement

Le test d’Event Grid déclenché localement par Azure Functions peut être compliqué. Vous ne souhaitez pas avoir à déclencher des événements de plus en plus pour tester votre flux. Il peut également être coûteux de déclencher ces événements peut nécessiter l’exécution d’un événement qui coûte de l’argent, comme l’envoi d’un SMS ou le placement d’un appel téléphonique. Pour vous aider à tester, nous vous montrons comment utiliser Postman pour déclencher votre fonction Azure avec une charge utile qui imite l’événement Event Grid.

Conditions préalables

  • Installer Postman
  • Avoir une fonction Azure en cours d’exécution qui peut être déclenchée par Event Grid. Si vous n’en avez pas, vous pouvez suivre le guide de démarrage rapide pour en créer un.

La fonction Azure peut s’exécuter dans Azure si vous souhaitez la tester avec certains événements de test ou si vous souhaitez tester l’intégralité du flux localement (appuyez F5 sur Visual Studio Code pour l’exécuter localement). Si vous souhaitez tester l’ensemble du flux avec un webhook déclenché en externe, vous devez utiliser ngrok pour exposer votre fonction Azure en cours d’exécution localement au public, ce qui lui permet d’être déclenchée par des sources Internet (par exemple à partir de WebHooks d’événements Azure). Configurez ngrok en exécutant la commande :


ngrok http 7071

Il est important de se rappeler que l’exposition des ressources de développement publiquement peut ne pas être considérée comme sécurisée. C’est pourquoi vous pouvez également exécuter l’intégralité du flux de travail localement sans ngrok en appelant des demandes à :

http://localhost:7071/runtime/webhooks/EventGrid?functionName={functionname}

Configurer Postman

  1. Ouvrez Postman et créez une demande.

    Screenshot of Postman body configuration.

  2. Sélectionnez la méthode POST.

  3. Entrez l’URL de votre fonction Azure. Il peut s’agir de l’URL de la fonction Azure s’exécutant dans Azure ou de l’URL ngrok si vous l’exécutez localement. Vérifiez que vous ajoutez le nom de la fonction à la fin de l’URL : /runtime/webhooks/EventGrid?functionName=<<FUNCTION_NAME>>.

  4. Sélectionnez l’onglet Body , puis sélectionnez raw et JSON dans la liste déroulante. Dans le corps, vous ajoutez un schéma de test pour l’événement que vous souhaitez déclencher. Par exemple, si vous testez une fonction Azure déclenchée par la réception d’événements SMS, vous ajoutez ce qui suit :

    
    {
      "id": "d29ebbea-3341-4466-9690-0a03af35228e",
      "topic": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/acse2e/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
      "subject": "/phonenumber/15555555555",
      "data": {
        "MessageId": "d29ebbea-3341-4466-9690-0a03af35228e",
        "From": "15555555555",
        "To": "15555555555",
        "Message": "Great to connect with Azure Communication Services events",
        "ReceivedTimestamp": "2020-09-18T00:27:45.32Z"
      },
      "eventType": "Microsoft.Communication.SMSReceived",
      "dataVersion": "1.0",
      "metadataVersion": "1",
      "eventTime": "2020-09-18T00:27:47Z"
    }
    
    

    Vous trouverez plus d’informations sur les différents types d’événements utilisés pour Azure Communication Services dans la documentation.

  5. Sélectionnez l’onglet Headers et ajoutez les en-têtes suivants :

    • Content-Type: application/json
    • aeg-event-type: Notification

    Screenshot of Postman headers configuration.

  6. Sélectionnez le Send bouton pour déclencher l’événement.

    Screenshot of Postman send button.

    À ce stade, un événement doit se déclencher dans votre fonction Azure. Vous pouvez vérifier l’événement en examinant l’exécution de votre fonction Azure. Vous pouvez ensuite vérifier que la fonction effectue son travail correctement.