Разработка API данных с помощью веб-приложения Azure для контейнеров

Завершено

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

Ознакомьтесь с преимуществами использования веб-приложения для контейнеров

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

  • Масштабируемость. Веб-приложение Azure для контейнеров позволяет автоматически масштабироваться по требованию. Это означает, что API данных может обрабатывать повышенную нагрузку без вмешательства вручную, обеспечивая высокую доступность и производительность.

  • Упрощенное управление: Azure управляет базовой инфраструктурой, включая исправление ОС, балансировку нагрузки и подготовку емкости. Это позволяет разработчикам сосредоточиться на написании кода, а не на управлении серверами.

Создание API данных с помощью веб-приложения Azure для контейнеров

Чтобы создать API данных с помощью веб-приложения Azure для контейнеров, необходимо создать приложение-контейнер с изображением DAB, назначить необходимые разрешения, настроить Dockerfile и обновить приложение с новым образом и учетными данными. Наконец, получите доменное имя и проверьте API.

Перед началом работы убедитесь, что у вас есть подписка Azure, группа ресурсов и доступ к Azure Cloud Shell.

Создание приложения-контейнера

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

  1. Используется az containerapp env create для создания новой среды приложений контейнеров Azure.

    az containerapp env create \ 
      --resource-group $RESOURCE_GROUP_NAME \
      --name $CONTAINER_ENV_NAME \
      --logs-destination none \
      --location $LOCATION
    
  2. az containerapp create Используйте команду для создания нового приложения-контейнера с помощью образа контейнера MCR.MICROSOFT.COM/AZURE-DATABASES/DATA-API-BUILDER DAB.

    az containerapp create \ 
      --resource-group $RESOURCE_GROUP_NAME \
      --environment $CONTAINER_ENV_NAME \
      --name $API_CONTAINER_NAME \
      --image "mcr.microsoft.com/azure-databases/data-api-builder" \
      --ingress "external" \
      --target-port "5000" \
      --system-assigned
    

Затем можно получить идентификатор субъекта управляемого удостоверения с помощью az identity show.

Назначение разрешений

Назначьте назначаемым системой разрешения на управляемое удостоверение для чтения данных из SQL Azure и чтения и записи в Реестр контейнеров Azure.

az role assignment create \
  --assignee $CURRENT_USER_PRINCIPAL_ID \
  --role $ROLE_ID \
  --scope $RESOURCE_GROUP_ID

создадите экземпляр реестра контейнеров Azure;

Чтобы создать новый экземпляр Реестр контейнеров Azure, выполните следующую команду.

az acr create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name <CONTAINER_REGISTRY_NAME> \
  --sku "Standard" \
  --location <LOCATION> \
  --admin-enabled false

Создание и развертывание образа контейнера

  1. На этапе сборки используйте образ контейнера mcr.microsoft.com/dotnet/sdk .

  2. Установите ИНТЕРФЕЙС командной строки DAB.

    RUN dotnet tool install Microsoft.DataApiBuilder
    
  3. Создайте файл конфигурации для подключения База данных SQL Azure к исходной базе данных, выполнив команду RUN dotnet tool run dab -- init.

  4. Создайте сущности для сопоставления с таблицами в исходной базе данных.

    RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"
    
  5. Скопируйте файл конфигурации в окончательный образ контейнера mcr.microsoft.com/azure-databases/data-api-builder .

  6. Создайте образ в качестве задачи реестра контейнеров Azure, выполнив сборку az acr build образа.

  7. Настройте приложение-контейнер для использования реестра контейнеров.

    az containerapp registry set \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --server <container-registry-login-server> \
      --username <container-registry-username> \
      --password <container-registry-password>
    
  8. Создайте секрет с помощью строка подключения SQL Azure.

    az containerapp secret set \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --secrets "SQLConnectionString=<your-sql-connection-string>"
    
  9. Обновите приложение-контейнер с помощью нового пользовательского образа контейнера и строка подключения.

    az containerapp update \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --image <container-registry-login-server>/<image-name>:<tag> \
      --secrets "SQLConnectionString=<your-sql-connection-string>"
    
  10. Получите полное доменное имя приложения контейнера.

    az containerapp show \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --query "properties.configuration.ingress.fqdn" \
      --output "tsv"
    

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

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

Примечание.

Подробные инструкции по развертыванию построителя api данных в приложениях контейнеров Azure с помощью Azure CLI см. в руководстве по развертыванию построителя данных в приложениях контейнеров Azure с помощью Azure CLI.