Розробка API даних за допомогою веб-програми Azure Web App для контейнерів
Розробка API даних за допомогою Azure Web App for Containers пропонує надійне та масштабоване рішення для сучасних додатків. Використовуючи потужність контейнерів і керовані служби Azure, розробники можуть легко створювати, розгортати та керувати API, забезпечуючи продуктивність і надійність. Такий підхід не тільки спрощує процес розробки, але й підвищує портативність і масштабованість програм, що робить його ідеальним вибором для сучасного програмного ландшафту.
Дізнайтеся про переваги використання веб-застосунку для контейнерів
Портативність: контейнери інкапсулюють програму та її залежності, забезпечуючи її послідовну роботу в різних середовищах. Це усуває проблему «це працює на моєму комп'ютері», роблячи розгортання на різних платформах безперебійним.
Масштабованість: Azure Web App for Containers дозволяє автоматично масштабувати на основі вимоги. Це означає, що ваш API даних може впоратися зі збільшеним навантаженням без ручного втручання, забезпечуючи високу доступність і продуктивність.
Спрощене керування: Azure керує базовою інфраструктурою, включаючи виправлення ОС, балансування навантаження та надання потужності. Це дозволяє розробникам зосередитися на написанні коду, а не на управлінні серверами.
Створення API даних за допомогою веб-застосунку Azure Web App для контейнерів
Щоб створити API даних за допомогою Azure Web App for Containers, вам потрібно створити програму-контейнер із зображенням DAB, призначити необхідні дозволи, налаштувати файл Dockerfile і оновити програму новим зображенням і обліковими даними. Нарешті, отримайте доменне ім'я та протестуйте API.
Перш ніж почати, переконайтеся, що у вас є передплата на Azure, група ресурсів і доступ до Azure Cloud Shell.
Створення програми-контейнера
Ви можете створити Azure Container Apps, виконавши наведені нижче дії.
Використовується
az containerapp env createдля створення нового середовища контейнерних додатків Azure.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONВикористовуйте команду,
az containerapp createщоб створити нову програму-контейнер за допомогою образу контейнера DAB mcr.microsoft.com/azure-databases/data-api-builder .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кнопки .
Призначення дозволів
Призначте призначені системою дозволи керованого посвідчення на зчитування даних з Azure SQL, а також читання та запис до реєстру контейнерів 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 CLI.
RUN dotnet tool install Microsoft.DataApiBuilderСтворіть файл конфігурації для підключення бази даних Azure SQL до вихідної бази даних, виконавши команду
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>Створіть секрет за допомогою рядка підключення Azure SQL.
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, щоб переконатися, що все працює правильно.
Нотатка
Детальні кроки щодо розгортання Data API builder у Azure Container Apps за допомогою Azure CLI наведено в Навчальному посібнику: Розгортання Data API builder у Azure Container Apps за допомогою Azure CLI.