Поделиться через


Использование сред файлов конфигурации в построителе API данных

Построитель данных поддерживает несколько сред конфигурации, аналогичных ASP.NET Core appsettings.json. Можно определить базовую конфигурацию (dab-config.json) и варианты для конкретной среды (dab-config.Development.json, dab-config.Production.json). Эта функция позволяет гибко управлять строками подключения, параметрами проверки подлинности и другими изменениями конфигурации в разных средах.

Шаг 1. Создание базовой конфигурации

Создайте файл .env .

DEV_CONNECTION_STRING=Server=tcp:127.0.0.1,1433;User ID=<username>;Password=<password>;
PROD_CONNECTION_STRING=Server=tcp:127.0.0.1,1433;User ID=<username>;Password=<password>;

Замечание

Файл .env не имеет имени файла, только расширения.

Запуск dab init для создания базового файла конфигурации

dab init --database-type "mssql" --connection-string ""
dab add Book --source "dbo.Books" --permissions "anonymous:*"

На этом шаге создается базовый dab-config.json файл, который используется во всех средах.

Шаг 2. Добавление файлов конфигурации для конкретной среды

- dab-config.json
- dab-config.Development.json
- dab-config.Production.json

Файл конфигурации разработки (dab-config.Development.json)

{
  "data-source": {
    "connection-string": "@env('DEV_CONNECTION_STRING')"
  }
}

Файл конфигурации рабочей среды (dab-config.Production.json)

{
  "data-source": {
    "connection-string": "@env('PROD_CONNECTION_STRING')"
  }
}

Замечание

Файлы, относящиеся к среде, переопределяют базовую конфигурацию, когда установлено DAB_ENVIRONMENT.

Шаг 3. Запуск DAB с правильной средой

Используйте эту команду для задания среды Developmentследующим образом:

DAB_ENVIRONMENT=Development dab start

Используйте эту команду для задания среды Productionследующим образом:

DAB_ENVIRONMENT=Production dab start

Замечание

Если среда не задана, по умолчанию используется Productionсреда.

Шаг 4. Проверка установки

  • ОТДЫХ: http://localhost:5000/api/Book
  • GraphQL: http://localhost:5000/graphql
  • Swagger: http://localhost:5000/swagger
  • Здоровье: http://localhost:5000/health

Отзыв

  • Держите .env файлы вне системы управления версиями (.gitignore)
  • Использование @env() или @akv() для секретов
  • Использование DAB_ENVIRONMENT для простого переключения между средами