Поделиться через


Тестирование обработчика сетки событий локально

Тестирование сетки событий, активируемой Функции Azure локально, может быть сложной. Чтобы протестировать поток, вам не нужно запускать события. Это также может оказаться дорогостоящим, так как активация этих событий может потребовать выполнения события, которое стоит денег, таких как отправка SMS или размещение телефонного звонка. Чтобы помочь в тестировании, мы покажем, как использовать Postman для активации функции Azure с полезными данными, которые имитируют событие Сетки событий.

Предварительные требования

  • Установите Postman.
  • Запустите функцию Azure, которая может быть активирована сеткой событий. Если у вас его нет, вы можете следовать краткому руководству , чтобы создать его.

Функция Azure может выполняться в Azure, если вы хотите протестировать ее с помощью некоторых тестовых событий или локально протестировать весь поток (нажмите F5 в Visual Studio Code, чтобы запустить его локально). Если вы хотите протестировать весь поток с помощью внешнего триггера веб-перехватчика, необходимо использовать ngrok для предоставления локальной функции Azure общедоступной функции, что позволяет активировать его источниками Интернета (например, из веб-перехватчиков событий Azure). Настройте ngrok, выполнив команду:


ngrok http 7071

Следует помнить, что публичное предоставление ресурсов разработки может не рассматриваться как безопасное. Поэтому вы также можете выполнять весь рабочий процесс локально без ngrok, вызывая запросы к:

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

Настройка Postman

  1. Откройте Postman и создайте новый запрос.

    Screenshot of Postman body configuration.

  2. Выберите метод POST.

  3. Введите URL-адрес функции Azure. Может быть URL-адрес функции Azure, работающей в Azure, или URL-адрес ngrok, если он выполняется локально. Убедитесь, что вы добавите имя функции в конце URL-адреса: /runtime/webhooks/EventGrid?functionName=<<FUNCTION_NAME>>

  4. Выберите вкладку Body и выберите raw ее в JSON раскрывающемся списке. В тексте добавьте тестовую схему для события, которое требуется активировать. Например, если вы тестируете функцию Azure, активируемую получением sms-событий, добавьте следующее:

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

    Дополнительные сведения о различных типах событий, используемых для Службы коммуникации Azure в документации.

  5. Выберите вкладку Headers и добавьте следующие заголовки:

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

    Screenshot of Postman headers configuration.

  6. Нажмите кнопку Send , чтобы активировать событие.

    Screenshot of Postman send button.

    На этом этапе событие должно активироваться в функции Azure. Событие можно проверить, просмотрев выполнение функции Azure. Затем можно проверить правильность работы функции.