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

Завершено

В этом упражнении вы создадите приложение-функцию в Azure и опубликуете наш проект.

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

Внимание

Процедуры в этом уроке зависят от работы, завершенной в уроке 3. Песочница для этого модуля должна быть активной. Песочница предоставляет бесплатный временный доступ к Azure и Azure CLI.

Azure Cloud Shell уже должен войти в учетную запись и настроить его. Если песочница не активна, необходимо потерять необходимый доступ, ресурсы и выходные данные. Вернитесь и завершите урок 3.

Прежде чем опубликовать код в приложении-функции с помощью основных инструментов, необходимо создать приложение в Azure с помощью Azure CLI из Cloud Shell.

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

RESOURCEGROUP="<rgn>[sandbox resource group]</rgn>"
STORAGEACCT=learnstorage$(openssl rand -hex 5)
FUNCTIONAPP=learnfunctions$(openssl rand -hex 5)

az storage account create \
  --resource-group "$RESOURCEGROUP" \
  --name "$STORAGEACCT" \
  --kind StorageV2 \
  --location centralus

az functionapp create \
  --resource-group "$RESOURCEGROUP" \
  --name "$FUNCTIONAPP" \
  --storage-account "$STORAGEACCT" \
  --runtime node \
  --consumption-plan-location centralus \
  --functions-version 4

Эти команды выполняют описанные ниже действия.

  • В первых трех строках создаются переменные оболочки со значениями, которые будут многократно использоваться в следующих командах.

    • Для группы ресурсов укажите группу, созданную для вас песочницей. Это уже должно быть правильным значением на основе текущей песочницы.
    • К именам учетных записей хранения и приложений-функций относятся $(openssl rand -hex 5), которые создают случайную пятизначную строку, чтобы имена соответствовали требованиям глобального уникального, а также других требований к именованию служб.
  • az storage account create создает учетную запись хранения Azure, которую использует приложение-функция. Учетная запись хранения — это отдельный ресурс Azure, который необходимо создать перед созданием приложения-функции.

  • Команда az functionapp create создает приложение-функцию. Новое приложение использует среду выполнения JavaScript, которая выполняет бессерверную node среду размещения в плане размещения потребления.

Примечание.

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

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

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

Чтобы опубликовать проект, выполните в Cloud Shell приведенные ниже команды. Сначала выполните команду cd , чтобы убедиться, что вы все еще находитесь в папке проекта функций перед публикацией.

cd ~/loan-wizard
func azure functionapp publish "$FUNCTIONAPP" --force

Примечание.

Если эта команда выдает сообщение о том, что приложение не найдено, подождите две минуты и повторите попытку. На обнаружение новых приложений-функций средствами Core Tools требуется несколько секунд.

Кроме того, вы добавляете --force команду для обновления несоответствия версии приложения-функции.

В отличие от предыдущего упражнения, где вы временно разместили функцию локально с помощью Core Tools, ваша функция теперь доступна в Интернете. Она остается глобально доступной до истечения срока действия песочницы для этого руководства. Так как конечная точка HTTP была определена с anonymous уровнем авторизации, доступ к нему может любой пользователь в Интернете.

Выполнение функции

Теперь ваша функция опубликована в Azure и ее можно вызывать из любого места. Так как она активируется HTTP-запросом и отвечает на запросы GET, ее можно вызывать из любого браузера.

  1. Выполните следующую команду, чтобы получить URL-адрес запроса:

    func azure functionapp list-functions "$FUNCTIONAPP" --show-keys
    
  2. Вставьте URL-адрес из выходных данных на новую вкладку браузера. Вы увидите те же выходные данные, которые вы наблюдали при локальном запуске функции, не предоставляя правильные параметры строки запроса. При использовании уровня авторизации ключи не включаются в выходные anonymous данные.

  3. Добавьте ?principal=5000&rate=.035&term=36 в конец URL-адреса и нажмите клавишу ВВОД. Убедитесь, что параметр сохраняется code , если он присутствует. Теперь, как и ожидалось, возвращается значение 6300.000000000001.