Публикация функции в Azure с помощью Core Tools

Завершено

С помощью Core Tools можно публиковать функции в Azure.

Теперь, когда вы создали и протестировали простую функцию интереса, ее необходимо опубликовать в Azure. Было бы удобно, чтобы она работала в Интернете. Когда это так, вы можете отправить URL-адрес коллегам, чтобы они могли вызывать его в любом месте.

Создание приложения-функции

Прежде чем использовать основные средства для публикации проекта, необходимо создать необходимые ресурсы в Azure, включая приложение-функцию, используемое для размещения проекта. Для функций также требуется учетная запись хранения. Вы не можете использовать основные средства для создания этих ресурсов Azure. Вместо этого вы создаете приложения-функции с помощью средств управления Azure, включая портал Azure, Azure CLI и Azure PowerShell. В следующем упражнении выполните команду az functionapp create Azure CLI, чтобы создать приложение-функцию, в которое можно опубликовать код.

В область этого руководства наиболее важным вариантом является среда выполнения языка при создании приложения-функции. Приложение-функция поддерживает только одну языковую среду выполнения. Если нужно опубликовать уже имеющийся локальный проект функций, создайте приложение-функцию для той же языковой среды выполнения. При попытке развернуть проект в приложении с другой средой выполнения публикация останавливается с ошибкой.

Публикация в Azure

Чтобы опубликовать проект функций в приложении-функции в Azure, запустите func azure functionapp publish <app_name> из папки проекта функций. <app_name> — это имя целевого приложения-функции в Azure, а не имя папки проекта, которое может отличаться.

Publishing a function app with func azure functionapp publish.

Основные инструменты не запрашивают вход в Azure. Вместо этого он обращается к подпискам и ресурсам, загружая сведения о сеансе из Azure CLI или Azure PowerShell. Если у вас нет активного сеанса в одном из этих средств, публикация завершается ошибкой. Публикацию можно выполнять из Core Tools без Azure CLI или Azure PowerShell. Тем не менее, проще, если у вас есть. Рекомендуется установить одну или другую. Обязательно войдите, прежде чем пытаться публиковать функции.

После завершения публикации ваши функции выполняются в Azure. В выходных данных последней публикации показаны функции, опубликованные, включая URL-адрес вызова каждой триггерной функции HTTP.

Полезная информация

Ниже приведены некоторые моменты, которые следует учитывать при использовании основных средств для публикации функций:

  • Основные средства не проверяют или не проверяют код функций во время публикации.
  • Перед публикацией проведите тестирование самостоятельно с помощью команды func start.
  • При публикации все функции, уже имеющиеся в целевом приложении, останавливаются и удаляются перед развертыванием содержимого вашего проекта.
  • Невозможно объединить функции из нескольких проектов в одно приложение, публикуя их в этой последовательности.
  • Все функции, которые необходимы в приложении, должны быть в одном проекте.
  • При публикации в Azure связь между локальным проектом и целевым приложением-функцией не устанавливается.
  • Один проект функций можно опубликовать в нескольких приложениях-функциях.
  • Проект также можно повторно публиковать в том же приложении по мере работы над кодом.
  • URL-адреса вызова, отображаемые после публикации, могут включать code параметр в строку запроса.
  • Его можно увидеть на снимке экрана: ?code=4FowT1ywMNoxqa...
  • Функции триггера HTTP имеют уровень авторизации функции, который требует передачи ключа секретной функции в заголовках запроса или строке запроса.
  • Core Tools возвращает ключ в строке запроса отображаемого URL-адреса для удобства.