Справочник по интерфейсу командной строки построителя данных
Интерфейс командной строки конструктора api данных (CLI) (dab CLI или dab
) — это средство командной строки, упрощающее локальную разработку приложений с помощью построителя API данных.
Кончик
CLI построителя данных поставляется с интегрированной системой справки. Чтобы получить список доступных команд, используйте параметр --help
в команде dab
.
dab --help
Чтобы получить справку по определенной команде, используйте параметр --help
. Например, чтобы узнать больше о команде init
:
dab init --help
Команды и параметры командной строки
init
Инициализирует конфигурацию среды выполнения для обработчика среды выполнения построителя данных. Он создает новый JSON-файл со свойствами, предоставленными в качестве параметров.
Синтаксис
dab init [options]
Примеры
dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
--database-type | ✔️ Да | ✔️ Да | струна | Тип базы данных для подключения. Поддерживаемые значения: mssql , cosmosdb_nosql , cosmosdb_postgresql , mysql , postgresql . |
|
--connection-string | ❌ нет | "" |
✔️ Да | струна | Сведения о подключении для подключения к базе данных. |
--cosmosdb_nosql-database | ✔️ Да no | ✔️ Да | струна | Имя базы данных для Cosmos DB для NoSql. | |
--cosmosdb_nosql-container | ❌ нет | ✔️ Да | струна | Имя контейнера для Cosmos DB для NoSql. | |
--graphql-schema | ✔️ Да no | ✔️ Да | струна | Путь схемы GraphQL | |
--set-session-context | ❌ нет | false |
❌ нет | Включите отправку данных в MsSql с помощью контекста сеанса. | |
--host-mode | ❌ нет | production |
✔️ Да | струна | Указание режима узла — разработка или рабочая среда |
--cors-origin | ❌ нет | "" |
✔️ Да | струна | Укажите список разрешенных источников. |
--auth.provider | ❌ нет | StaticWebApps |
✔️ Да | струна | Укажите поставщика удостоверений. |
--rest.path | ❌ нет | /api |
✔️ Да | струна | Укажите префикс конечной точки REST. |
--rest.enabled | ❌ нет | true |
✔️ Да | булев | Включает конечную точку REST для всех сущностей. |
--rest.request-body-strict | ❌ нет | true |
✔️ Да | Не разрешает лишние поля в тексте запроса. | |
--graphql.path | ❌ нет | /graphql |
✔️ Да | струна | Укажите префикс конечной точки GraphQL. |
--graphql.enabled | ❌ нет | true |
✔️ Да | булев | Включает конечную точку GraphQL для всех сущностей. |
--graphql.multiple-create.enabled | ❌ нет | false |
✔️ Да | Включает несколько функций создания в GraphQL. | |
--auth.audience | ❌ нет | ✔️ Да | струна | Определяет получателей, для которым предназначен веб-токен Json (JWT). | |
--auth.issuer | ❌ нет | ✔️ Да | струна | Укажите сторону, которая выдала токен JWT. | |
-c,--config | ❌ нет | dab-config.json |
✔️ Да | струна | Путь к файлу конфигурации. |
¹ Этот параметр требуется только в том случае, если для --database-type
задано значение cosmosdb_nosql
.
add
Добавьте новую сущность базы данных в файл конфигурации. Перед выполнением этой команды убедитесь, что у вас уже есть файл конфигурации, в противном случае возвращается ошибка.
Синтаксис
dab add [entity-name] [options]
Примеры
dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
-s,--source | ✔️ Да | ✔️ Да | струна | Имя исходной таблицы или контейнера. | |
--permissions | ✔️ Да | ✔️ Да | струна | Разрешения, необходимые для доступа к исходной таблице или контейнеру. Формат: [role]:[actions] . |
|
--source.type | ❌ нет | table |
✔️ Да | струна | Тип объекта базы данных. Поддерживаемые значения: table , view , stored-procedure . |
--source.params | ❌ нет | ✔️ Да, если proc имеет парамы | струна | Словарь параметров хранимой процедуры и их типов данных. Поддерживаемые типы данных: string , number и boolean . Параметры задаются в формате: paramName:type . Например, --source.params "id:number,isActive:boolean,name:string" . |
|
--source.key поля | ✔️ Да no | ✔️ Да | струна | Одно или несколько полей, которые будут использоваться только в качестве первичных ключей для таблиц и представлений. Разделенные запятыми значения. Пример --source.key-fields "id,name,type" . |
|
--rest | ❌ нет | имя сущности с учетом регистра | ✔️ Да | струна | Маршрут для REST API. Примеры: --rest: false —> отключает вызовы REST API для этой сущности.
--rest: true — имя сущности> становится остальным путем.
--rest: "customPathName" —> Предоставленный customPathName становится путь REST. |
--rest.methods | ❌ нет | post |
✔️ Да | струна | Действия HTTP, поддерживаемые для хранимой процедуры. Укажите действия в виде разделенного запятыми списка. Допустимые действия HTTP: [get, post, put, patch, delete]. |
--graphql | ❌ нет | имя сущности с учетом регистра | ✔️ Да | Bool/String | Тип сущности, предоставляемый для GraphQL. Примеры: --graphql: false —> отключает вызовы graphql для этой сущности.
--graphql: true —> предоставляет сущность для GraphQL с именами по умолчанию. Единственная форма имени сущности считается для имен запросов и мутаций.
--graphql: "customQueryName" —> явно задает единственное значение, а DAB плюритизирует предоставленное значение для запросов и мутаций.
--graphql: "singularName:pluralName" —> задает значения как единственного, так и множественного числа (разделенные двоеточием : ) для запросов и мутаций. |
--graphql.operation | ❌ нет | mutation |
✔️ Да | струна | Операция GraphQL, поддерживаемая для хранимой процедуры. Поддерживаемые значения: query , mutation . |
--fields.include | ❌ нет | ✔️ Да | струна | Поля с разрешением на доступ. | |
--fields.exclude | ❌ нет | ✔️ Да | струна | Поля, исключенные из списков действий. | |
--policy-database | ❌ нет | ✔️ Да | струна | Укажите правило фильтра стилей OData, которое внедряется в запрос, отправляемый в базу данных. | |
-c,--config | ❌ нет | dab-config.json |
✔️ Да | струна | Путь к файлу конфигурации. |
¹ Этот параметр требуется только в том случае, если для --source.type
задано значение view
.
update
Обновите свойства любой сущности базы данных в файле конфигурации.
Заметка
dab update
поддерживает все параметры, поддерживаемые dab add
. Кроме того, он также поддерживает перечисленные параметры.
Синтаксис
dab update [entity-name] [options]
Примеры
dab update Publisher --permissions "authenticated:*"
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
--relationship | ❌ нет | ✔️ Да | струна | Укажите связь между двумя сущностями. Укажите имя связи. | |
--кратность | ✔️ Да no | ✔️ Да | струна | Укажите кратность между двумя сущностями. Может быть одним или многим. | |
--target.entity | ✔️ Да no | ✔️ Да | струна | Другая предоставленная сущность, к которую относится исходная сущность. | |
--linking.object | ❌ нет | ✔️ Да | струна | Объект базы данных, используемый для поддержки связи M:N. | |
--linking.source.fields | ❌ нет | ✔️ Да | струна | Поля базы данных в объекте связывания для подключения к связанному элементу в исходной сущности. Разделенные запятыми поля. | |
--linking.target.fields | ❌ нет | ✔️ Да | струна | Поля базы данных в объекте связывания для подключения к связанному элементу в целевой сущности. Разделенные запятыми поля. | |
--relationship.fields | ❌ нет | ✔️ Да | струна | Укажите поля, используемые для сопоставления сущностей. Пример: --relationship.fields "id:book_id" . Здесь id представляет столбец из sourceEntity, а book_id из targetEntity. Внешние ключи требуются между базовыми источниками, если они не указаны. |
|
-m,--map | ❌ нет | ✔️ Да | струна | Укажите сопоставления между полями базы данных и полями GraphQL и REST. Формат: --map "backendName1:exposedName1, backendName2:exposedName2,..." . |
¹ Этот параметр требуется только в том случае, если используется параметр --relationship
.
export
Экспортируйте требуемую схему в виде файла и сохраните на диск на основе параметров.
Синтаксис
dab export [options]
Примеры
dab export --graphql -o ./schemas
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
--graphql | ❌ нет | false |
❌ нет | Экспорт схемы GraphQL. | |
-o,--output | ✔️ Да | ✔️ Да | струна | Укажите каталог для сохранения файла схемы. | |
-g,--graphql-schema-file | ❌ нет | schema.graphql |
✔️ Да | струна | Укажите имя файла схемы Graphql. |
-c,--config | ❌ нет | dab-config.json |
✔️ Да | струна | Путь к файлу конфигурации. |
start
Запустите подсистему выполнения с предоставленным файлом конфигурации для обслуживания запросов REST и GraphQL.
Синтаксис
dab start [options]
Примеры
dab start
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
--verbose | ❌ нет | ❌ нет | Укажите уровень ведения журнала как информационный. | ||
--LogLevel | ❌ нет |
Debug , если hostMode=development Error HostMode=Production |
✔️ Да | струна | Укажите уровень ведения журнала в качестве указанного значения. Пример: отладка, ошибка, информация и т. д. |
--no-https-redirect | ❌ нет | ✔️ Да | - | Отключает автоматические перенаправления https. | |
-c,--config | ❌ нет | dab-config.json |
✔️ Да | струна | Путь к файлу конфигурации. |
Заметка
Одновременно нельзя использовать --verbose
и --LogLevel
. Дополнительные сведения о различных уровнях ведения журнала см. в уровнях журналов .NET.
validate
Проверяет файл конфигурации среды выполнения среды выполнения, используемый обработчиком среды выполнения построителя данных. Процесс проверки гарантирует, что файл конфигурации соответствует схеме и содержит все необходимые сведения для правильной работы обработчика среды выполнения.
Синтаксис
dab validate [options]
Примеры
dab validate
Параметры
Параметры | Обязательный параметр | Значение по умолчанию | Обязательное значение | Тип значения | Описание |
---|---|---|---|---|---|
-c,--config | ❌ нет | dab-config.json |
✔️ Да | струна | Путь к файлу конфигурации, который является целью проверки. |
configure
Команда dab configure
предназначена для упрощения обновления свойств конфигурации за пределами раздела сущностей. В этом документе описаны сведения о проектировании, функциональности и реализации команды dab configure. Он поддерживает изменение интерфейса командной строки для свойств конфигурации в разделах источника данных и среды выполнения конфигурации конфигурации.
Заметка
dab configure
предназначен только для обновления разделов источника данных и среды выполнения конфигурации. В разделе сущностей у нас уже есть команда dab update.
Синтаксис
dab configure [options] [value]
Примеры
dab configure --runtime.rest.enabled true
Параметры
Свойство файла конфигурации | Флаг ИНТЕРФЕЙСА командной строки | Тип данных | Допустимое значение NULL | Описание |
---|---|---|---|---|
источник данных. Тип базы данных |
|
Строка: MSSQL , PostgreSQL , CosmosDB_NoSQL , MySQL |
❌ | Это значение указывает тип базы данных. |
источник данных. строка подключения |
|
Струна | ❌ | Ссылается на строку подключения для источника данных. |
источник данных. options.database |
|
Струна | ✅ | Ссылается на имя базы данных для Cosmos DB для NoSql. |
источник данных. options.container |
|
Струна | ✅ | Ссылается на имя контейнера для Cosmos DB для NoSql. |
источник данных. options.schema |
|
Струна | ✅ | Предоставляет путь схемы для Cosmos DB для NoSql. |
источник данных. options.set-session-context |
|
Логическое значение: true , false (по умолчанию: true ) |
✅ | Указывает, следует ли включить контекст сеанса. |
Среды выполнения. rest.enabled |
|
Логическое значение: true , false (по умолчанию: true ) |
❌ | Указывает, следует ли включить конечную точку REST DAB. |
Среды выполнения. rest.path |
|
Строка (по умолчанию: /api ) |
❌ | Настройте путь конечной точки REST DAB. Условия: префикс с "/", пробелы и не зарезервированные символы. |
Среды выполнения. rest.request-body-strict |
|
Логическое значение: true , false (по умолчанию: true ) |
✅ | Разрешает или запрещает ненужные поля текста запроса REST. |
Среды выполнения. graphql.enabled |
|
Логическое значение: true , false (по умолчанию: true ) |
❌ | Включение и отключение конечной точки GraphQL DAB. |
Среды выполнения. graphql.path |
|
Строка (по умолчанию: /graphql ) |
❌ | Настройка пути конечной точки GraphQL в DAB. Условия: префикс с "/", пробелы и не зарезервированные символы. |
Среды выполнения. graphql.depth-limit |
|
Целое число | ✅ | Это относится к максимально допустимой глубине вложенного запроса graphQL. Допустимые значения: (02147483647] включительно. Значение по умолчанию — бесконечность. Используйте -1 для удаления ограничения. |
Среды выполнения. graphql.allow-introspection |
|
Логическое значение: true , false (по умолчанию: true ) |
✅ | Разрешить и запретить запросы интроспекции GraphQL в схеме GraphQL. |
Среды выполнения. graphql.multiple-mutations.create.enabled |
|
Логическое значение: true , false (по умолчанию: true ) |
✅ | Включение и отключение операций создания нескольких мутаций в созданной схеме GraphQL DAB. |
Среды выполнения. host.mode |
|
Строка: Development , Production по умолчанию: Development |
❌ | Задайте для узла режим выполнения DAB в разделе "Разработка" или "Рабочая среда". |
Среды выполнения. host.cors.origins |
|
Массив строк | ✅ | Используйте это для перезаписи разрешенных источников в CORS. По умолчанию: [] (разделенный пробелами массив строк). |
Среды выполнения. host.cors.allow-credentials |
|
Логическое значение: true , false (по умолчанию: false ) |
✅ | Задайте значение заголовка Access-Control Allow-Credentials в --host.cors.allow-credentials. |
Среды выполнения. host.authentication.provider |
|
Строка: StaticWebApps , AppService , AzureAD , Jwt |
✅ | Настройте имя поставщика проверки подлинности. По умолчанию: StaticWebApps . |
Среды выполнения. host.authentication.jwt.audience |
|
Массив строк | ✅ | Используйте это для настройки предполагаемых получателей токена Jwt. |
Среды выполнения. host.authentication.jwt.issuer |
|
Струна | ✅ | Это относится к сущности, выдавшей токен Jwt. |
Среды выполнения. cache.enabled |
|
Логическое значение: true , false (по умолчанию: false ) |
✅ | Включение и отключение кэша DAB глобально. (Кроме того, необходимо включить кэш каждой сущности отдельно.) |
Среды выполнения. cache.ttl-seconds |
|
Целое число (по умолчанию: 5 ) |
✅ | Настройте глобальное время по умолчанию кэша DAB для жизни в секундах. |