Разработка API данных с помощью веб-приложения Azure для контейнеров
Разработка API данных с помощью веб-приложения Azure для контейнеров предлагает надежное и масштабируемое решение для современных приложений. Используя возможности контейнеров и управляемых служб Azure, разработчики могут создавать, развертывать и управлять API с легкостью, обеспечивая производительность и надежность. Этот подход не только упрощает процесс разработки, но и повышает переносимость и масштабируемость приложений, что делает его идеальным выбором для современного ландшафта программного обеспечения.
Ознакомьтесь с преимуществами использования веб-приложения для контейнеров
Переносимость: контейнеры инкапсулируют приложение и его зависимости, обеспечивая согласованное выполнение в разных средах. Это устраняет проблему "работает на моем компьютере" , что упрощает развертывание на различных платформах.
Масштабируемость. Веб-приложение Azure для контейнеров позволяет автоматически масштабироваться по требованию. Это означает, что API данных может обрабатывать повышенную нагрузку без вмешательства вручную, обеспечивая высокую доступность и производительность.
Упрощенное управление: Azure управляет базовой инфраструктурой, включая исправление ОС, балансировку нагрузки и подготовку емкости. Это позволяет разработчикам сосредоточиться на написании кода, а не на управлении серверами.
Создание API данных с помощью веб-приложения Azure для контейнеров
Чтобы создать API данных с помощью веб-приложения Azure для контейнеров, необходимо создать приложение-контейнер с изображением DAB, назначить необходимые разрешения, настроить Dockerfile и обновить приложение с новым образом и учетными данными. Наконец, получите доменное имя и проверьте API.
Перед началом работы убедитесь, что у вас есть подписка Azure, группа ресурсов и доступ к Azure Cloud Shell.
Создание приложения-контейнера
Вы можете создать приложения контейнеров Azure, выполнив следующие действия.
Используется
az containerapp env createдля создания новой среды приложений контейнеров Azure.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONaz 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
Создание и развертывание образа контейнера
На этапе сборки используйте образ контейнера mcr.microsoft.com/dotnet/sdk .
Установите ИНТЕРФЕЙС командной строки DAB.
RUN dotnet tool install Microsoft.DataApiBuilderСоздайте файл конфигурации для подключения База данных SQL Azure к исходной базе данных, выполнив команду
RUN dotnet tool run dab -- init.Создайте сущности для сопоставления с таблицами в исходной базе данных.
RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"Скопируйте файл конфигурации в окончательный образ контейнера mcr.microsoft.com/azure-databases/data-api-builder .
Создайте образ в качестве задачи реестра контейнеров Azure, выполнив сборку
az acr buildобраза.Настройте приложение-контейнер для использования реестра контейнеров.
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>Создайте секрет с помощью строка подключения SQL Azure.
az containerapp secret set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Обновите приложение-контейнер с помощью нового пользовательского образа контейнера и строка подключения.
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>"Получите полное доменное имя приложения контейнера.
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.