Развертывание построителя API данных в приложениях контейнеров Azure

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

Диаграмма общей архитектуры после завершения развертывания на Контейнеры приложений Azure.

Необходимые условия

Создание файла конфигурации

Чтобы начать, создайте файл конфигурации API построителя данных (DAB) для подключения к уже существующей базе данных. Этот файл используется позже с конечным контейнером.

  1. Создайте пустой каталог на локальном компьютере для хранения файла конфигурации.

  2. Инициализация нового базового файла конфигурации с помощью dab init. Используйте следующие параметры как минимум при инициализации.

    Setting Ценность
    Тип базы данных Выберите поддерживаемый тип базы данных.
    Строка соединения Используйте функцию @env() для ссылки на DATABASE_CONNECTION_STRING переменную среды.
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Это важно

    Для некоторых типов баз данных требуются дополнительные параметры конфигурации при инициализации.

  3. Добавьте хотя бы одну сущность базы данных в конфигурацию. Используйте команду dab add, чтобы настроить сущность. Настройте каждую сущность, чтобы разрешить все разрешения для анонимных пользователей. Повторяйте dab add столько раз, сколько вам нужно для сущностей.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Откройте и просмотрите содержимое файла dab-config.json . Этот файл будет использоваться далее в этом руководстве.

Создание пользовательского образа контейнера

Создайте пользовательский образ, который включает dab-config.json в /App/dab-config.json. Выполните эти команды из папки, содержащей dab-config.json.

  1. Создание группы ресурсов Эта группа ресурсов используется для всех новых ресурсов в этом руководстве.

    Подсказка

    Мы рекомендуем именовать группу ресурсов msdocs-dab-aca.

  2. Создайте реестр контейнеров Azure (ACR) и создайте образ.

    az acr create \
      --resource-group "<resource-group-name>" \
      --name "<registry-name>" \
      --sku Basic \
      --admin-enabled true
    
    # Create a Dockerfile that embeds dab-config.json
    cat <<'EOF' > Dockerfile
    FROM mcr.microsoft.com/azure-databases/data-api-builder:latest
    COPY dab-config.json /App/dab-config.json
    EOF
    
    # Build and push the image
    az acr build \
      --registry "<registry-name>" \
      --image "dab:1" \
      .
    
  3. Запишите сервер входа реестра (<registry-name>.azurecr.io) и тег образа (dab:1). Эти значения используются при создании приложения контейнера.

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

Создайте приложение-контейнер, используя пользовательский образ, который уже включает dab-config.json.

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

    Ресурс Setting Ценность
    Окружающая среда Название среды Введите глобально уникальное имя
    Окружающая среда Тип среды Выбрать только режим потребления
    Окружающая среда Место назначения журналов Выберите "Не сохранять журналы"
    Приложение Группа ресурсов Выберите созданную ранее группу ресурсов
    Приложение Регион Выберите тот же регион, что и группа ресурсов
    Приложение Используйте образ быстрого запуска Не выбирайте
    Приложение Источник образа Выбор реестра контейнеров Azure
    Приложение Registry Выберите экземпляр ACR
    Приложение Изображение и тег Введите dab:1
    Приложение Переменные среды — наименование Введите DATABASE_CONNECTION_STRING
    Приложение Переменные среды — значение Введите строку подключения для базы данных.
    Приложение Вход Убедитесь, что выбран параметр "Включен"
    Приложение Входящий трафик Выберите "Принять трафик из любого места"
    Приложение Режим сертификата клиента Выбор "Игнорировать"
    Приложение Тип входа Выбор HTTP
    Приложение Целевой порт Введите 5000

    Скриншот вкладки 'Контейнер' страницы 'Создание приложения контейнера' в портале Azure.

    Скриншот страницы

    Подсказка

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

  2. Перейдите к новому приложению-контейнеру на портале Azure.

  3. Используйте поле URL-адреса приложения в разделе Essentials , чтобы перейти на веб-сайт приложения контейнера. Обратите внимание на ответ, указывающий, что контейнер DAB запущен и состояние работоспособно.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    Замечание

    Номер версии и имя зависят от текущей версии конструктора API данных.

  4. Перейдите к /api/swagger пути текущего работающего приложения. Используйте пользовательский интерфейс Swagger для выдачи HTTP-запроса GET для одной из сущностей.

Очистите ресурсы

Когда вы больше не нуждаетесь в демонстрационном приложении или ресурсах, удалите соответствующее развертывание и все ресурсы.

  1. Перейдите к группе ресурсов с помощью портала Azure.

  2. На панели команд нажмите кнопку "Удалить".

Следующий шаг