Локальный запуск и тестирование функции Azure

Завершено

В предыдущем упражнении вы создали проект функции Azure с помощью архетипа Azure Maven. Следующая задача — создать функцию и запустить ее локально, чтобы убедиться, что она работает.

В этом уроке вы узнаете о Функции Azure основных средств, которые помогают выполнять и тестировать функции локально. Вы также узнаете, как открыть HTTP-порт для тестирования, как запустить функцию в Cloud Shell и как протестировать функцию в веб-браузере.

Сведения о основных средствах Функции Azure

Azure Functions Core Tools — это набор служебных программ для локальной сборки и тестирования функций Azure с помощью эмулятора терминала или командной строки. Несмотря на то, что созданные функции Azure выполняются локально, они могут получать доступ к активным службам Azure во время тестирования. После завершения тестирования и публикации функции можно развернуть приложение-функцию в подписке Azure.

В настоящее время существует три версии Azure Functions Core Tools. Однако в качестве общего правила, если у вас нет конкретной необходимости использовать более раннюю версию, всегда следует использовать последнюю версию при разработке функций для развертывания в Azure. Для этого модуля вы используете Azure Cloud Shell в песочнице Learn, которая имеет последнюю версию Функции Azure Core Tools.

Примечание.

Если в песочнице Learn вы вместо Cloud Shell использовали личную учетную запись Azure, ознакомьтесь с разделом Работа с Azure Functions Core Tools для получения описаний, требований и инструкций по установке для различных версий Azure Functions Core Tools.

Настройка среды Cloud Shell для тестирования

При тестировании веб-приложения, работающего в Cloud Shell, вы можете протестировать приложение двумя разными способами:

  1. С помощью Cloud Shell можно открыть внешний порт для тестирования, который направляет HTTP-запросы к порту localhost экземпляра Cloud Shell:

    • Чтобы открыть порт 7071 из Cloud Shell, используйте следующую команду cURL:

      curl -X POST http://localhost:8888/openPort/7071
      
    • После завершения тестирования используйте следующую команду cURL, чтобы закрыть порт:

      curl -X POST http://localhost:8888/closePort/7071
      
  2. Можно открыть несколько экземпляров Cloud Shell для локального тестирования приложения.

    • В первом экземпляре будет запущено приложение.

    • Во втором экземпляре будет производиться тестирование приложения с помощью cURL.

В следующем упражнении вы используете первый метод для открытия порта.

Запуск функции в Cloud Shell

После открытия порта для тестирования следующая задача — создать и выполнить функцию. Для этого выполните следующие действия.

  1. В Cloud Shell измените каталог на корневую папку проекта.

  2. Чтобы создать приложение, используйте следующую команду Maven:

    mvn clean package
    
  3. Чтобы запустить приложение, используйте следующую команду Maven:

    mvn azure-functions:run
    

    Пока Maven готовит среду выполнения для вашей функции, отображается логотип Функции Azure Core Tools:

    Image showing the Azure Function Core tools logo.

  4. После завершения тестирования используйте команду CTRL+C из Azure Cloud Shell, чтобы остановить сервер.

Тестирование функции с помощью HTTP-запросов

В этом модуле используется один экземпляр Cloud Shell. В результате необходимо протестировать приложение, открыв новую вкладку в веб-браузере. В адресной строке браузера введите URL-адрес, похожий на следующий пример:

https://gateway.westus.console.azure.com/n/cc-12345678/cc-12345678/proxy/7071/api/HttpExample?name=Bob

Однако если вы используете несколько экземпляров Cloud Shell, можно использовать следующую команду cURL для тестирования приложения из отдельного экземпляра оболочки:

curl http://localhost:7071/api/HttpExample?name=Bob

В следующем упражнении вы используете то, что вы узнали в этом уроке. Вы открываете порт тестирования, запустите функцию в Cloud Shell и определите URL-адрес, который необходимо использовать для тестирования функции из веб-браузера.