Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда
Обновите существующее определение сущности в файле конфигурации построителя данных. Используйте эту команду для настройки исходных метаданных, разрешений, экспозиции (REST/GraphQL), политик, кэширования, связей, сопоставлений и описательных метаданных после добавления сущности.
Подсказка
Используется dab add для создания новых сущностей и dab update их развития. Имя поля повторное сопоставление (--map) доступно только в update, а не в add.
Синтаксис
dab update <entity-name> [options]
Краткий обзор
| Вариант | Сводка |
|---|---|
<entity-name> |
Обязательный позиционный аргумент. Имя логической сущности. |
-s, --source |
Имя исходной таблицы, представления или хранимой процедуры. |
--permissions |
Роль и действия в role:actions формате. |
--description |
Замените описание сущности. |
-c, --config |
Путь к файлу конфигурации. Разрешение по умолчанию применяется, если опущен. |
--help |
Отображение экрана справки. |
--version |
Отображение сведений о версии. |
Кэш
| Вариант | Сводка |
|---|---|
--cache.enabled |
Включение или отключение кэширования сущностей. |
--cache.ttl |
Кэшируйте время в секундах. |
Fields
| Вариант | Сводка |
|---|---|
--fields.exclude |
Разделенный запятыми список исключенных полей. |
--fields.include |
Разделенный запятыми список включенных полей (* = все). |
-m, --map |
Пары name:aliasсопоставления полей. Заменяет весь набор. |
Метаданные полей
| Вариант | Сводка |
|---|---|
--fields.name |
Имя столбца базы данных для описания. |
--fields.alias |
Псевдоним поля. |
--fields.description |
Описание поля. |
--fields.primary-key |
Задайте это поле в качестве первичного ключа. |
GraphQL
| Вариант | Сводка |
|---|---|
--graphql |
Экспозиция GraphQL: false, true, singularили singular:plural. |
--graphql.operation |
Хранимые процедуры: query или mutation (мутация по умолчанию). |
Разрешения и политики
| Вариант | Сводка |
|---|---|
--permissions |
role:actions для одной роли. Запустите несколько раз для нескольких ролей. |
--policy-database |
Фильтр в стиле OData, внедренный в запрос базы данных. |
--policy-request |
Фильтр запросов до базы данных. |
Отношения
| Вариант | Сводка |
|---|---|
--relationship |
Имя связи. Используйте с параметрами связи. |
--cardinality |
Кратность связей: one или many. |
--target.entity |
Имя целевой сущности. |
--linking.object |
Связывание объекта для "многие ко многим". |
--linking.source.fields |
Связывание полей объектов, указывающих на источник. |
--linking.target.fields |
Связывание полей объектов, указывающих на целевой объект. |
--relationship.fields |
Сопоставления полей для прямых связей. |
REST
| Вариант | Сводка |
|---|---|
--rest |
Экспозиция REST: false, trueили пользовательский путь. |
--rest.methods |
Хранимые процедуры только. Замените разрешенные HTTP-команды. |
Исходный материал
| Вариант | Сводка |
|---|---|
-s, --source |
Имя базового объекта базы данных. |
--source.key-fields |
Требуется для представлений или таблиц, отличных от PK. |
--source.params |
Хранимые процедуры только. Замените параметры по умолчанию. |
--source.type |
Тип источника: table, viewили stored-procedure. |
Параметры (хранимые процедуры)
| Вариант | Сводка |
|---|---|
--parameters.name |
Разделенный запятыми список имен параметров. |
--parameters.description |
Разделенный запятыми список описаний параметров. |
--parameters.required |
Разделенный запятыми список обязательных флагов. |
--parameters.default |
Разделенный запятыми список значений по умолчанию. |
--cache.enabled
Включение или отключение кэширования для этой сущности.
Example
dab update \
Book \
--cache.enabled true
Результирующая конфигурация
{
"entities": {
"Book": {
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Задайте время жизни кэша в секундах. Действует только в том случае, если кэширование включено.
Example
dab update \
Book \
--cache.ttl 600
Результирующая конфигурация
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Замечание
Предоставление TTL при отключении кэша не влияет, пока кэширование не будет включено.
--description
Замените описание сущности.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
Book \
--description "Updated description"
Результирующая конфигурация
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Разделенный запятыми список полей, которые необходимо исключить.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Результирующая конфигурация
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Разделенный запятыми список полей для включения.
* включает все поля. Заменяет существующий список включения.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Результирующая конфигурация
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Управление экспозицией GraphQL.
Example
dab update \
Book \
--graphql book:books
Результирующая конфигурация
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Хранимые процедуры только. Задает тип операции. По умолчанию — mutation.
Example
dab update \
RunReport \
--graphql.operation query
Результирующая конфигурация
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Замечание
Предоставление --graphql.operation таблиц или представлений игнорируется.
-m, --map
Сопоставление полей базы данных с предоставленными именами. Заменяет весь набор сопоставлений.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Результирующая конфигурация
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Это важно
Все существующие сопоставления перезаписываются. Переставьте все сопоставления, которые вы хотите сохранить.
--permissions
Добавляет или обновляет разрешения для одной роли и ее действий.
Для добавления нескольких ролей можно выполнять dab update несколько раз (один раз на роль).
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Результирующая конфигурация
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Замечание
Если указанная роль уже существует, ее действия обновляются; в противном случае будет добавлена роль.
--policy-database
Фильтр в стиле OData, добавленный к запросу базы данных.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Результирующая конфигурация
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Политика уровня запроса вычисляется перед попаданием в базу данных.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Результирующая конфигурация
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Определение или обновление связи. Используйте с другими параметрами связи.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Результирующая конфигурация
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--cardinality
Кратность для связи. Использовать с --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Имя целевой сущности для связи. Использовать с --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Только многие ко многим. Имя объекта базы данных, используемое в качестве объекта связывания.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.source.fields
Только многие ко многим. Разделенный запятыми список связывания полей объектов, указывающих на исходную сущность.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.target.fields
Только многие ко многим. Разделенный запятыми список связывания полей объектов, указывающих на целевую сущность.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--relationship.fields
Сопоставления полей с разделием двоеточия для прямых связей.
Значение --relationship.fields — это разделенный запятыми список sourceField:targetField пар.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Результирующая конфигурация
{
"entities": {
"User": {
"relationships": {
"profile": {
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--rest
Управление экспозицией REST.
Example
dab update \
Book \
--rest BooksApi
Результирующая конфигурация
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Хранимые процедуры только. Замените разрешенные методы HTTP. По умолчанию используется POST.
Example
dab update \
RunReport \
--rest true \
--rest.methods GET,POST
Результирующая конфигурация
{
"entities": {
"RunReport": {
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
Замечание
Предоставление --rest.methods , пока REST отключено, не имеет никакого эффекта.
-s, --source
Обновите базовый объект базы данных.
Example
dab update \
Book \
--source dbo.Books
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.key-fields
Для представлений или таблиц без вывода PK. Заменяет существующие ключи. Недопустимо для хранимых процедур.
Example
dab update \
SalesSummary \
--source.type view \
--source.key-fields "year,region"
Результирующая конфигурация
{
"entities": {
"SalesSummary": {
"fields": [
{ "name": "year", "primary-key": true },
{ "name": "region", "primary-key": true }
]
}
}
}
Замечание
Использование --source.key-fields с хранимыми процедурами запрещено.
--source.params
Хранимые процедуры только. Замените параметры по умолчанию.
Замечание
В предварительном интерфейсе командной строки --source.params версии 1.7 не рекомендуется. Используйте --parameters.name--parameters.required/--parameters.default--parameters.description//.
Example
dab update \
RunReport \
--source.type stored-procedure \
--source.params "year:2024,region:west"
Результирующая конфигурация
{
"entities": {
"RunReport": {
"source": {
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "region", "required": false, "default": "west" }
]
}
}
}
}
Замечание
Использование --source.params с таблицами или представлениями запрещено.
--source.type
Измените тип исходного объекта.
Example
dab update \
Book \
--source.type view
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
}
}
}
}
--parameters.name
Хранимые процедуры только. Разделенный запятыми список имен параметров.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Результирующая конфигурация
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--parameters.description
Хранимые процедуры только. Разделенный запятыми список описаний параметров, выровненных по значению --parameters.name.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range,End of date range"
--parameters.required
Хранимые процедуры только. Разделенный запятыми список значенийtrue/false, выровненных по значению.--parameters.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true"
--parameters.default
Хранимые процедуры только. Разделенный запятыми список значений по умолчанию, выровненных по --parameters.nameумолчанию.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Имя столбца базы данных для описания.
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true \
--fields.description "Product Id"
Результирующая конфигурация
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--fields.alias
Псевдоним поля. Используйте разделенный запятыми список.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
Products \
--fields.name Id \
--fields.alias product_id
--fields.description
Описание поля. Используйте разделенный запятыми список.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
Products \
--fields.name Id \
--fields.description "Product Id"
--fields.primary-key
Флаг первичного ключа для поля. Используйте разделенный запятыми список значенийtrue/false, выровненных по значению.--fields.name
Замечание
Этот параметр доступен только в предварительном интерфейсе командной строки версии 1.7 (в настоящее время rc). Установите с dotnet tool install microsoft.dataapibuilder --prereleaseпомощью .
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true
-c, --config
Путь к файлу конфигурации.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Отображение экрана справки.
Example
dab update --help
--version
Отображение сведений о версии.
Example
dab update --version
Это важно
Изменение типа источника может привести к недействительным другим свойствам. Например, представления всегда требуют ключевых полей; Хранимые процедуры не могут определять поля ключей.