Локальный запуск и тестирование функции 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, вы можете протестировать приложение двумя разными способами:
С помощью 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
Можно открыть несколько экземпляров Cloud Shell для локального тестирования приложения.
В первом экземпляре будет запущено приложение.
Во втором экземпляре будет производиться тестирование приложения с помощью cURL.
В следующем упражнении вы используете первый метод для открытия порта.
Запуск функции в Cloud Shell
После открытия порта для тестирования следующая задача — создать и выполнить функцию. Для этого выполните следующие действия.
В Cloud Shell измените каталог на корневую папку проекта.
Чтобы создать приложение, используйте следующую команду Maven:
mvn clean package
Чтобы запустить приложение, используйте следующую команду Maven:
mvn azure-functions:run
Пока Maven готовит среду выполнения для вашей функции, отображается логотип Функции Azure Core Tools:
После завершения тестирования используйте команду 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-адрес, который необходимо использовать для тестирования функции из веб-браузера.