Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Comando
Actualice una definición de entidad existente en el archivo de configuración del Generador de API de datos. Use este comando para ajustar los metadatos de origen, los permisos, la exposición (REST/GraphQL), las directivas, el almacenamiento en caché, las relaciones, las asignaciones y los metadatos descriptivos de una entidad existente.
Sugerencia
Use dab add para crear nuevas entidades y dab update para evolucionarlas. Para administrar los metadatos de campo, use --fields.name con --fields.alias, --fields.descriptiony --fields.primary-key.
Syntax
dab update <entity-name> [options]
Vista rápida
| Opción | Resumen |
|---|---|
<entity-name> |
Argumento posicional requerido. Nombre de entidad lógica. |
-s, --source |
Nombre de la tabla de origen, vista o procedimiento almacenado. |
-m, --map |
Asignaciones entre campos de base de datos y nombres expuestos. |
--permissions |
Rol y acciones en role:actions formato. |
--description |
Reemplace la descripción de la entidad. |
-c, --config |
Ruta de acceso al archivo de configuración. La resolución predeterminada se aplica si se omite. |
--help |
Muestra la pantalla de ayuda. |
--version |
Mostrar información de versión. |
Cache
| Opción | Resumen |
|---|---|
--cache.enabled |
Habilite o deshabilite el almacenamiento en caché de entidades. |
--cache.ttl |
Tiempo de vida en caché en segundos. |
Fields
| Opción | Resumen |
|---|---|
--fields.exclude |
Lista separada por comas de campos excluidos. |
--fields.include |
Lista separada por comas de campos incluidos (* = todos). |
Metadatos de campos
| Opción | Resumen |
|---|---|
--fields.name |
Nombre de la columna de base de datos que se va a describir. |
--fields.alias |
Alias para el campo. |
--fields.description |
Descripción del campo. |
--fields.primary-key |
Establezca este campo como clave principal. |
GraphQL
| Opción | Resumen |
|---|---|
--graphql |
Exposición de GraphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo procedimientos almacenados: query o mutation (mutación predeterminada). |
Permisos y directivas
| Opción | Resumen |
|---|---|
--permissions |
role:actions para un solo rol. Ejecute varias veces para varios roles. |
--policy-database |
Filtro de estilo OData insertado en la consulta de base de datos. |
--policy-request |
Filtro de solicitud de base de datos previa. |
Relationships
| Opción | Resumen |
|---|---|
--relationship |
Nombre de la relación. Use con las opciones de relación. |
--cardinality |
Cardinalidad de la relación: one o many. |
--target.entity |
Nombre de entidad de destino. |
--linking.object |
Objeto de vinculación para varios a varios. |
--linking.source.fields |
Vincular campos de objeto que apuntan al origen. |
--linking.target.fields |
Vincular campos de objeto que apuntan al destino. |
--relationship.fields |
Asignaciones de campos para relaciones directas. |
REST
| Opción | Resumen |
|---|---|
--rest |
Exposición de REST: false, trueo ruta de acceso personalizada. |
--rest.methods |
Solo procedimientos almacenados. Reemplace los verbos HTTP permitidos. |
Mapeos
| Opción | Resumen |
|---|---|
-m, --map |
Asignaciones entre campos de base de datos y nombres expuestos. |
MCP
| Opción | Resumen |
|---|---|
--mcp.dml-tools |
Habilite o deshabilite las herramientas de MCP DML para esta entidad. |
--mcp.custom-tool |
Habilite la herramienta personalizada MCP (solo procedimientos almacenados). |
Fuente
| Opción | Resumen |
|---|---|
-s, --source |
Nombre del objeto de base de datos subyacente. |
--source.type |
Tipo de origen: table, viewo stored-procedure. |
--source.params |
Valores de parámetro predeterminados para procedimientos almacenados. |
--source.key-fields |
Campos de clave principal para vistas o tablas. |
Parámetros (procedimientos almacenados)
| Opción | Resumen |
|---|---|
--parameters.name |
Lista separada por comas de nombres de parámetros. |
--parameters.description |
Lista separada por comas de descripciones de parámetros. |
--parameters.required |
Lista separada por comas de marcas necesarias. |
--parameters.default |
Lista separada por comas de valores predeterminados. |
--cache.enabled
Habilite o deshabilite el almacenamiento en caché para esta entidad.
Example
dab update \
Book \
--cache.enabled true
Configuración resultante
{
"entities": {
"Book": {
"cache": {}
}
}
}
Nota:
Cuando el almacenamiento en caché está habilitado (valor predeterminado), la CLI escribe un objeto vacío cache . La "enabled" propiedad solo aparece explícitamente cuando se establece en false.
--cache.ttl
Establezca el tiempo de vida de la memoria caché en segundos. Solo es efectivo si el almacenamiento en caché está habilitado.
Example
dab update \
Book \
--cache.ttl 600
Configuración resultante
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Nota:
Proporcionar TTL (período de vida) cuando la memoria caché está deshabilitada no tiene ningún efecto hasta que se habilita el almacenamiento en caché.
--description
Reemplace la descripción de la entidad.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Book \
--description "Updated description"
Configuración resultante
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Lista separada por comas de campos que se van a excluir.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Configuración resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Lista separada por comas de campos que se van a incluir.
* incluye todos los campos. Reemplaza la lista de inclusión existente.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Configuración resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Controlar la exposición de GraphQL.
Example
dab update \
Book \
--graphql book:books
Configuración resultante
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Solo procedimientos almacenados. Establece el tipo de operación. El valor predeterminado es mutation.
Example
dab update \
RunReport \
--graphql.operation query
Configuración resultante
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Nota:
Se omite el suministro --graphql.operation de tablas o vistas.
--permissions
Agrega o actualiza permisos para un único rol y sus acciones.
Puede ejecutar dab update varias veces (una vez por rol) para agregar varios roles.
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Configuración resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Nota:
Si el rol especificado ya existe, se actualizan sus acciones; De lo contrario, se agrega el rol.
--policy-database
Filtro de estilo OData anexado a la consulta de base de datos.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Configuración resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Directiva de nivel de solicitud evaluada antes de alcanzar la base de datos.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Configuración resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Defina o actualice una relación. Use con otras opciones de relación.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuración resultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--cardinality
Cardinalidad de la relación. Se usa con --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nombre de entidad de destino para la relación. Se usa con --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Solo varios a varios. Nombre del objeto de base de datos que se va a usar como objeto de vinculación.
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
Solo varios a varios. Lista separada por comas de campos de objeto de vinculación que apuntan a la entidad de origen.
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
Solo varios a varios. Lista separada por comas de campos de objeto de vinculación que apuntan a la entidad de destino.
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
Asignaciones de campos separados por dos puntos para relaciones directas.
El --relationship.fields valor es una lista separada por comas de sourceField:targetField pares.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuración resultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--rest
Controlar la exposición de REST.
Example
dab update \
Book \
--rest BooksApi
Configuración resultante
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Solo procedimientos almacenados. Reemplace los métodos HTTP permitidos. El valor predeterminado es POST.
Example
dab update \
RunReport \
--rest true \
--rest.methods GET,POST
Configuración resultante
{
"entities": {
"RunReport": {
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
Nota:
Proporcionar --rest.methods mientras REST está deshabilitado no tiene ningún efecto.
-s, --source
Actualice el objeto de base de datos subyacente.
Example
dab update \
Book \
--source dbo.Books
Configuración resultante
{
"entities": {
"Book": {
"source": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.type
Cambie el tipo de objeto de origen.
Nota:
Las vistas requieren --source.key-fields. Cambiar a view sin especificar los campos clave produce un error.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
--source.params
Solo procedimientos almacenados. Valores de parámetro predeterminados como name:value pares.
Example
dab update \
RunReport \
--source.params "startDate:2024-01-01,endDate:2024-12-31"
Configuración resultante
{
"entities": {
"RunReport": {
"source": {
"type": "stored-procedure",
"parameters": [
{
"name": "startDate",
"required": false,
"default": "2024-01-01"
},
{
"name": "endDate",
"required": false,
"default": "2024-12-31"
}
]
}
}
}
}
--source.key-fields
Especifique los campos de clave principal para las vistas o tablas sin una clave inferida.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
Nota:
Las vistas siempre requieren campos clave. La --source.key-fields opción agrega entradas a la fields matriz con "primary-key": true.
-m, --map
Especifique asignaciones entre los nombres de columna de base de datos y los nombres de campo REST/GraphQL expuestos.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Configuración resultante
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Nota:
La --map opción crea entradas en la fields matriz con el conjunto de alias propiedades.
--parameters.name
Solo procedimientos almacenados. Lista separada por comas de nombres de parámetros.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugerencia
Para definir parámetros de procedimiento almacenado, use --parameters.name con --parameters.description, --parameters.requiredy --parameters.default.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Configuración resultante
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--parameters.description
Solo procedimientos almacenados. Lista separada por comas de descripciones de parámetros alineadas con --parameters.name.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range,End of date range"
--parameters.required
Solo procedimientos almacenados. Lista separada por comas de true/false valores alineados con .--parameters.name
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true"
--parameters.default
Solo procedimientos almacenados. Lista separada por comas de valores predeterminados alineados con --parameters.name.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nombre de la columna de base de datos que se va a describir.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true \
--fields.description "Product Id"
Configuración resultante
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--fields.alias
Alias para el campo. Use una lista separada por comas alineada con --fields.name.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugerencia
Use --fields.alias con --fields.name para definir nombres de campo expuestos.
Example
dab update \
Products \
--fields.name "Id,Title" \
--fields.alias "product_id,product_title"
--fields.description
Descripción del campo. Use una lista separada por comas alineada con --fields.name.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.description "Product Id"
--fields.primary-key
Marca de clave principal para el campo. Use una lista separada por comas de true/false valores alineados con .--fields.name
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugerencia
Use --fields.primary-key con --fields.name para definir campos de clave principal para vistas o tablas sin una clave inferida.
Example
dab update \
SalesSummary \
--fields.name "year,region" \
--fields.primary-key "true,true"
Configuración resultante
{
"entities": {
"SalesSummary": {
"fields": [
{
"name": "year",
"primary-key": true
},
{
"name": "region",
"primary-key": true
}
]
}
}
}
--mcp.dml-tools
Habilite o deshabilite las herramientas de MCP DML (lenguaje de manipulación de datos) para esta entidad. El valor predeterminado es true.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Book \
--mcp.dml-tools false
Configuración resultante
{
"entities": {
"Book": {
"mcp": {
"dml-tools": false
}
}
}
}
Nota:
Cuando --mcp.dml-tools se usa, establezca mcp mediante el formulario de objeto para que la configuración sea explícita.
--mcp.custom-tool
Solo procedimientos almacenados. Habilite la herramienta personalizada de MCP para esta entidad. El valor predeterminado es false.
Nota:
Esta opción está disponible en la 2.0.0-rc CLI. Data API Builder 2.0 está actualmente en versión preliminar. Instale con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
RunReport \
--mcp.custom-tool true
Configuración resultante
{
"entities": {
"RunReport": {
"mcp": {
"custom-tool": true
}
}
}
}
-c, --config
Ruta de acceso al archivo de configuración.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Muestra la pantalla de ayuda.
Example
dab update --help
--version
Mostrar información de versión.
Example
dab update --version
Importante
Cambiar el tipo de origen puede invalidar otras propiedades. Por ejemplo, las vistas siempre requieren campos clave; los procedimientos almacenados no pueden definir campos clave.