Розробка 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, виконавши наведені нижче дії.

  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 щоб створити нову програму-контейнер за допомогою образу контейнера 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

Створення та розгортання образу контейнера

  1. Для етапу збірки використовуйте образ контейнера mcr.microsoft.com/dotnet/sdk .

  2. Встановіть DAB CLI.

    RUN dotnet tool install Microsoft.DataApiBuilder
    
  3. Створіть файл конфігурації для підключення бази даних Azure SQL до вихідної бази даних, виконавши команду 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. Створіть секрет за допомогою рядка підключення Azure SQL.

    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, щоб переконатися, що все працює правильно.

Нотатка

Детальні кроки щодо розгортання Data API builder у Azure Container Apps за допомогою Azure CLI наведено в Навчальному посібнику: Розгортання Data API builder у Azure Container Apps за допомогою Azure CLI.