Compartir a través de


Prueba local del controlador de Event Grid

Las pruebas de Event Grid desencadenadas localmente en Azure Functions pueden ser complicadas. No quiere tener que desencadenar eventos sobre y más para probar el flujo. También puede resultar costoso, ya que desencadenar esos eventos puede requerir que realice un evento que cuesta dinero como enviar un SMS o realizar una llamada telefónica. Para ayudarle con las pruebas, le mostramos cómo usar Postman para desencadenar la función de Azure con una carga que imita el evento de Event Grid.

Requisitos previos

  • Instale Postman.
  • Tener una función de Azure en ejecución que pueda desencadenar Event Grid. Si no tiene una, puede seguir el inicio rápido para crear una.

La función de Azure se puede ejecutar en Azure si quiere probarla con algunos eventos de prueba o si desea probar todo el flujo localmente (presione F5 en Visual Studio Code para ejecutarlo localmente). Si desea probar todo el flujo con un webhook desencadenado externamente, debe usar ngrok para exponer la función de Azure en ejecución local al público, lo que le permite desencadenarlo mediante orígenes de Internet (como ejemplo de webHooks de eventos de Azure). Configure ngrok mediante la ejecución del comando :


ngrok http 7071

Vale la pena recordar que exponer los recursos de desarrollo públicamente no se puede considerar como seguro. Por eso también puede ejecutar todo el flujo de trabajo localmente sin ngrok invocando solicitudes a:

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

Configuración de Postman

  1. Abra Postman y cree una nueva solicitud.

    Screenshot of Postman body configuration.

  2. Seleccione el método POST.

  3. Escriba la dirección URL de la función de Azure. Puede ser la dirección URL de la función de Azure que se ejecuta en Azure o la dirección URL de ngrok si la ejecuta localmente. Asegúrese de agregar el nombre de la función al final de la dirección URL: /runtime/webhooks/EventGrid?functionName=<<FUNCTION_NAME>>.

  4. Seleccione la Body pestaña y seleccione raw y JSON , en la lista desplegable. En el cuerpo, agregará un esquema de prueba para el evento que desea desencadenar. Por ejemplo, si va a probar una función de Azure que se desencadena mediante la recepción de eventos SMS, agregue lo siguiente:

    
    {
      "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"
    }
    
    

    Puede encontrar más información sobre los distintos tipos de eventos que se usan para Azure Communication Services en la documentación.

  5. Seleccione la Headers pestaña y agregue los siguientes encabezados:

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

    Screenshot of Postman headers configuration.

  6. Seleccione el Send botón para desencadenar el evento.

    Screenshot of Postman send button.

    En este momento, un evento debe desencadenarse en la función de Azure. Puede comprobar el evento examinando la ejecución de la función de Azure. A continuación, puede validar que la función está realizando su trabajo correctamente.