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
Agregue una nueva definición de entidad a un archivo de configuración de Data API Builder existente. Ya debe tener una configuración creada con dab init. Use dab update para modificar las entidades después de la creación.
Sugerencia
Use dab add para crear nuevas entidades y dab update para evolucionarlas. La reasignación de nombres de campo (--map) solo está disponible en update, no en add.
Syntax
dab add <entity-name> [options]
Vista rápida
| Opción | Resumen |
|---|---|
<entity-name> |
Argumento posicional requerido. Nombre de entidad lógica. |
-c, --config |
Ruta de acceso del archivo de configuración. El valor predeterminado es dab-config.json. |
--cache.enabled |
Habilite o deshabilite el almacenamiento en caché para la entidad. |
--cache.ttl |
Tiempo de vida en caché en segundos. |
--description |
Descripción de forma libre para la entidad. |
--fields.exclude |
Campos excluidos separados por comas. |
--fields.include |
Campos permitidos separados por comas (* = todos). |
--graphql |
Exposición de GraphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo procedimientos almacenados.
query o mutation (mutación predeterminada). |
--permissions |
Obligatorio. Uno o más role:actions pares. Repetible. |
--policy-database |
Filtro de estilo OData aplicado en la consulta de base de datos. |
--policy-request |
Directiva de solicitud evaluada antes de la llamada de base de datos. |
--rest |
Exposición de REST: false, trueo ruta personalizada. |
--rest.methods |
Solo procedimientos almacenados. Verbos HTTP permitidos. POST predeterminado. |
-s, --source |
Obligatorio. Nombre del objeto de base de datos (tabla, vista o procedimiento almacenado). |
--source.key-fields |
Necesario para las vistas o cuando PK no se deduce. No se permite para los procedimientos. |
--source.params |
Solo procedimientos almacenados. Valores de parámetro predeterminados. |
--source.type |
Tipo de origen: table, view, stored-procedure (tabla predeterminada). |
<entity-name>
Nombre lógico de la entidad en la configuración. Distingue mayúsculas de minúsculas.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]
}
}
}
-c, --config
Ruta de acceso del archivo de configuración. El valor predeterminado es dab-config.json.
Example
dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"
--cache.enabled
Habilite o deshabilite el almacenamiento en caché.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Tiempo de vida en caché en segundos.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Descripción de texto libre de la entidad.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Lista separada por comas de campos que se van a excluir.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
}
}
}
--fields.include
Lista separada por comas de campos que se van a exponer.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"include": [ "id", "title", "price" ]
}
}
}
}
}
--graphql
Controlar la exposición de GraphQL.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Solo procedimientos almacenados. Tipo de operación GraphQL. El valor predeterminado es mutation.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query
Configuración resultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"graphql": {
"operation": "query"
}
}
}
}
--permissions
Define pares role→actions. Use marcas repetidas para varios roles.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] },
{ "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
]
}
}
}
--policy-database
Directiva de nivel de base de datos.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Directiva de nivel de solicitud.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--rest
Controlar la exposición de REST.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi
Configuración resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Solo procedimientos almacenados. Verbos HTTP permitidos para la ejecución. El valor predeterminado es POST. Se omite para las tablas o vistas.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST
Configuración resultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"rest": {
"path": "BookProc",
"methods": [ "GET", "POST" ]
}
}
}
}
-s, --source
Obligatorio. Nombre del objeto de base de datos: tabla, vista o procedimiento almacenado.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.key-fields
Necesario para vistas. También es necesario para las tablas sin una PK inferible. No se permite para los procedimientos almacenados.
Example
dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"
Configuración resultante
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"keyFields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.params
Solo procedimientos almacenados. Pares separados por comas name:value . No se permite para tablas o vistas.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"
Configuración resultante
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"params": {
"year": 2024,
"active": true
}
},
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
]
}
}
}
--source.type
Tipo de objeto de base de datos. Predeterminado: table.
Example
dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"
Configuración resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}