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


Использование функций Azure в приложениях контейнеров Azure

В этой статье показано, как создать приложение Функций Azure в приложениях контейнеров Azure, а также предварительно настроенные правила автомасштабирования.

Предпосылки

Ресурс Описание
Учетная запись Azure Учетная запись Azure с активной подпиской.

Если у вас нет учетной записи, вы можете создать ее бесплатно.
Учетная запись хранения Azure Учетная запись хранения BLOB-объектов для хранения состояния функций Azure.
Azure Application Insights Экземпляр Azure Application Insights для сбора данных о приложении-контейнере.

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

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

  1. Перейдите на портал Azure и найдите приложения-контейнеры в строке поиска.

  2. Выберите Приложения-контейнеры.

  3. Нажмите кнопку "Создать".

  4. Выберите контейнерное приложение

  5. В разделе "Основные сведения" введите следующие значения.

    В окне Сведения о проекте:

    Недвижимость Ценность
    Подписка Выберите подписку Azure.
    Группа ресурсов Выберите "Создать группу ресурсов", назовите ее my-aca-functions-group и нажмите кнопку "ОК".
    Имя приложения-контейнера Введите my-aca-functions-app.
  6. Рядом с параметром "Оптимизация для функций Azure" установите флажок.

    Снимок экрана: портал Azure при создании приложения контейнера, предварительно настроенного для функций Azure.

  7. В разделе "Среда приложений контейнеров" введите следующее:

    Недвижимость Ценность
    Регион Выберите ближайший к вам регион.
    Среда Контейнеров приложений Выберите Создать новую среду.
  8. В окне установки среды введите:

    Недвижимость Ценность
    Имя среды Введите my-aca-functions-environment
    Избыточность зон Выберите Отключено.
  9. Нажмите кнопку "Создать", чтобы сохранить значения.

  10. Нажмите кнопку "Далее": контейнер для переключения в раздел "Контейнер ".

  11. Рядом с использовать образ быстрой настройки оставьте этот флажок незаполненным.

  12. В разделе сведений о контейнере введите следующие значения.

    Недвижимость Ценность
    Имя Эта коробка предварительно заполнена вашим выбором в последнем разделе.
    Источник изображения Выберите Docker Hub или другие реестры
    Подписка Выберите подписку.
    Тип изображения Выберите Общедоступный.
    Сервер входа в реестр Введите mcr.microsoft.com
    Изображение и тег Введите k8se/quickstart-functions:latest
  13. В разделе переменные среды введите значения для следующих переменных:

    • AzureWebJobsStorage
    • APPINSIGHTS_INSTRUMENTATIONKEY или APPLICATIONINSIGHTS_CONNECTION_STRING

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

    Переменная AzureWebJobsStorage является обязательной строкой подключения учетной записи хранения Azure для функций Azure. Эта учетная запись хранения хранит журналы выполнения функций, управляет триггерами и привязками и сохраняет состояние для устойчивых функций.

    Application Insights — это служба мониторинга и диагностики, которая предоставляет аналитические сведения о производительности и использовании функций Azure. Этот мониторинг помогает отслеживать частоту запросов, время отклика, частоту сбоев и другие метрики.

  14. Нажмите "Next > Ingress", чтобы перейти в раздел "Ingress" и введите следующие значения.

    Недвижимость Ценность
    Вход Отметьте флажок "Включен" для разрешения доступа.
    Входящий трафик Выберите "Принять трафик" из любого места.
    Тип входящего трафика Выберите HTTP.
    Целевой порт Введите 80.
  15. Выберите Review + Create.

  16. Нажмите кнопку "Создать".

  17. По завершении развертывания выберите элемент Перейти к ресурсу.

  18. На странице обзора выберите ссылку рядом с URL-адресом приложения , чтобы открыть приложение на новой вкладке браузера.

  19. Добавьте /api/HttpExample в конец URL-адреса.

    Сообщение о том, что функция триггера HTTP обрабатывает запрос, возвращается в браузере.

Предпосылки

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

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

  1. Войдите в Azure.

    az login
    
  2. Чтобы убедиться, что вы используете последнюю версию интерфейса командной строки, выполните команду обновления.

    az upgrade
    
  3. Установите или обновите расширение приложений контейнеров Azure для интерфейса командной строки.

    Если при выполнении az containerapp команд в Azure CLI или командлетов из модуля Az.App в PowerShell возникают ошибки из-за отсутствия параметров, убедитесь, что установлена последняя версия расширения Azure Container Apps.

    az extension add --name containerapp --upgrade
    

    Теперь, когда установлено текущее расширение или модуль, зарегистрируйте пространства имен Microsoft.App и Microsoft.OperationalInsights.

    az provider register --namespace Microsoft.App
    
    az provider register --namespace Microsoft.OperationalInsights
    
  4. Создайте переменные среды.

    RESOURCE_GROUP_NAME="my-aca-functions-group"
    CONTAINER_APP_NAME="my-aca-functions-app"
    ENVIRONMENT_NAME="my-aca-functions-environment"
    LOCATION="westus"
    
  5. Создайте группу ресурсов.

    az group create \
      --name $RESOURCE_GROUP_NAME \
      --location $LOCATION \
      --output none
    
  6. Создайте среду "Приложения контейнеров".

    az containerapp env create \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $LOCATION \
        --output none
    
  7. Создайте приложение контейнера Функций Azure.

    az containerapp create \
      --resource-group $RESOURCE_GROUP_NAME \
      --name $CONTAINER_APP_NAME \
      --environment $ENVIRONMENT_NAME \
      --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \
      --ingress external \
      --target-port 80 \
      --kind functionapp \
      --query properties.outputs.fqdn
    

    Эта команда возвращает URL-адрес приложения "Функции". Скопируйте этот URL-адрес и вставьте его в веб-браузер.

  8. Добавьте /api/HttpExample в конец URL-адреса.

    Сообщение о том, что функция триггера HTTP обрабатывает запрос, возвращается в браузере.