Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда
Добавьте новое определение сущности в существующий файл конфигурации построителя данных. У вас уже должна быть конфигурация, созданная с dab initпомощью . Используется dab update для изменения сущностей после создания.
Подсказка
Используется dab add для создания новых сущностей и dab update их развития.
Синтаксис
dab add <entity-name> [options]
Краткий обзор
| Вариант | Сводка |
|---|---|
<entity-name> |
Обязательный позиционный аргумент. Имя логической сущности. |
-c, --config |
Путь к файлу конфигурации.
dab-config.jsonпо умолчанию. |
--cache.enabled |
Включение и отключение кэширования для сущности. |
--cache.ttl |
Кэшируйте время в секундах. |
--description |
Описание свободной формы для сущности. |
--fields.exclude |
Разделенные запятыми поля. |
--fields.include |
Разрешенные поля с разделим запятыми (* = все). |
--fields.name |
Имена полей для описания (повторяемые или разделенные запятыми). |
--fields.alias |
Псевдонимы полей (разделенные запятыми, выровнены по краю --fields.name). |
--fields.description |
Описания полей (разделенные запятыми, выровненные по краю --fields.name). |
--fields.primary-key |
Флаги первичного ключа (разделенные запятыми, выровнены по краю --fields.name). |
--graphql |
Экспозиция GraphQL: false, true, singularили singular:plural. |
--graphql.operation |
Хранимые процедуры только.
Query или Mutation (мутация по умолчанию). |
--permissions |
Обязательное.
role:actions для одной роли. |
--policy-database |
Фильтр стиля OData применяется в запросе базы данных. |
--policy-request |
Политика запроса, вычисляемая перед вызовом базы данных. |
--parameters.name |
Хранимые процедуры только. Имена параметров (разделенные запятыми). |
--parameters.description |
Хранимые процедуры только. Описания параметров. |
--parameters.required |
Хранимые процедуры только. Обязательные флаги параметра. |
--parameters.default |
Хранимые процедуры только. Значения по умолчанию параметра. |
--rest |
Экспозиция REST: false, trueили настраиваемый маршрут. |
--rest.methods |
Хранимые процедуры только. Допустимые команды: GET, POST, PUTPATCH, DELETE. По умолчанию POST. |
-s, --source |
Обязательное. Имя объекта базы данных (таблица, представление или хранимая процедура). |
--source.key-fields |
Поля, используемые в качестве первичных ключей. |
--source.params |
Хранимые процедуры только. Значения параметров по умолчанию. |
--source.type |
Тип источника: table, viewstored-procedure (таблица по умолчанию). |
--help |
Отобразите этот экран справки. |
--version |
Отображение сведений о версии. |
<entity-name>
Логическое имя сущности в конфигурации. Учитывает регистр.
Краткие примеры таблиц, представлений и хранимых процедур
Добавление таблицы
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Добавить представление
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read" \
--description "Example for managing book inventory from view"
Добавление хранимой процедуры
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "anonymous:execute" \
--graphql.operation query \
--description "Example for executing a stored procedure"
-c, --config
Путь к файлу конфигурации. По умолчанию — dab-config.json.
Example
dab add Book \
--config ./dab-config.mssql.json \
--source dbo.Books \
--permissions "anonymous:read"
--cache.enabled
Включение или отключение кэширования.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.enabled true
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Кэшируйте время в секундах.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl 300
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"enabled": false,
"ttl-seconds": 300
}
}
}
}
--description
Описание сущности без текста.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--description "Entity for managing book inventory"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Разделенный запятыми список полей, которые необходимо исключить.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Разделенный запятыми список полей для предоставления.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.include "id,title,price"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--graphql
Управление экспозицией GraphQL.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--graphql book:books
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Хранимые процедуры только. Тип операции GraphQL. По умолчанию — mutation.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--graphql.operation Query
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query"
}
}
}
}
--permissions
Определяет пары ролей→actions.
--permissions не повторяется. Чтобы добавить дополнительные роли, запустите dab add с одной ролью, а затем запустите dab update дополнительные роли.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--parameters.name
Хранимые процедуры только. Разделенный запятыми список имен параметров.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--description "Retrieves all orders placed within a specified date range" \
--parameters.name "StartDate,EndDate,CustomerID" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive),Optional customer ID filter" \
--parameters.required "true,true,false" \
--parameters.default ",,null"
Результирующая конфигурация
{
"entities": {
"GetOrdersByDateRange": {
"description": "Retrieves all orders placed within a specified date range",
"source": {
"object": "dbo.usp_GetOrdersByDateRange",
"type": "stored-procedure",
"parameters": [
{
"name": "StartDate",
"required": true,
"description": "Beginning of date range (inclusive)"
},
{
"name": "EndDate",
"required": true,
"description": "End of date range (inclusive)"
},
{
"name": "CustomerID",
"required": false,
"default": "null",
"description": "Optional customer ID filter"
}
]
},
"permissions": [
{
"role": "authenticated",
"actions": [
{
"action": "execute"
}
]
}
]
}
}
}
--parameters.description
Хранимые процедуры только. Разделенный запятыми список описаний параметров, выровненных по значению --parameters.name.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive)"
--parameters.required
Хранимые процедуры только. Разделенный запятыми список значенийtrue/false, выровненных по значению.--parameters.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true"
--parameters.default
Хранимые процедуры только. Разделенный запятыми список значений по умолчанию, выровненных по --parameters.nameумолчанию.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Имя столбца базы данных для описания.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID,ProductName" \
--fields.alias "product_id,product_name" \
--fields.description "Unique identifier for each product,Display name of the product" \
--fields.primary-key "true,false"
Результирующая конфигурация
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"alias": "product_id",
"description": "Unique identifier for each product",
"primary-key": true
},
{
"name": "ProductName",
"alias": "product_name",
"description": "Display name of the product",
"primary-key": false
}
]
}
}
}
--fields.alias
Псевдоним поля. Используйте разделенный запятыми список.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
Описание поля. Используйте разделенный запятыми список.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.description "Unique identifier"
--fields.primary-key
Флаг первичного ключа для поля. Используйте разделенный запятыми список значенийtrue/false, выровненных по значению.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Результирующая конфигурация
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"primary-key": true
}
]
}
}
}
--policy-database
Политика уровня базы данных.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Политика уровня запроса.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--rest
Управление экспозицией REST.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--rest BooksApi
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Хранимые процедуры только. Http-команды, разрешенные для выполнения: GET, POST, PUT, PATCHDELETE. По умолчанию используется POST. Игнорируется для таблиц и представлений.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--rest true \
--rest.methods GET,POST
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
-s, --source
Обязательное. Имя объекта базы данных: таблица, представление, контейнер или хранимая процедура.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Поля, используемые в качестве первичных ключей. Требуется для представлений при создании с помощью интерфейса командной строки.
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Хранимые процедуры только. Пары с разделим name:value запятыми. Запрещено для таблиц или представлений.
Замечание
В предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc) --source.params не рекомендуется.
--parameters.defaultВместо этого используйте --parameters.nameи связанные --parameters.* параметры.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "admin:execute"
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"parameters": [
{
"name": "year",
"required": false,
"default": "2024"
},
{
"name": "active",
"required": false,
"default": "True"
}
]
},
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
]
}
}
}
--help
Отобразите этот экран справки.
Example
dab add \
--help
--version
Отображение сведений о версии.
Example
dab add \
--version
--source.type
Тип объекта базы данных. По умолчанию: table.
Example
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}