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.
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). |
--fields.name |
Nombres de campo que se describen (repetibles o separados por comas). |
--fields.alias |
Alias de campo (separados por comas, alineados con --fields.name). |
--fields.description |
Descripciones de campo (separadas por comas, alineadas con --fields.name). |
--fields.primary-key |
Marcas de clave principales (separadas por comas, alineadas con --fields.name). |
--graphql |
Exposición de GraphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo procedimientos almacenados.
Query o Mutation (mutación predeterminada). |
--permissions |
Obligatorio.
role:actions para un solo rol. |
--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. |
--parameters.name |
Solo procedimientos almacenados. Nombres de parámetro (separados por comas). |
--parameters.description |
Solo procedimientos almacenados. Descripciones de parámetros. |
--parameters.required |
Solo procedimientos almacenados. Marcas necesarias para parámetros. |
--parameters.default |
Solo procedimientos almacenados. Valores predeterminados del parámetro. |
--rest |
Exposición de REST: false, trueo ruta personalizada. |
--rest.methods |
Solo procedimientos almacenados. Verbos permitidos: GET, POST, PUT, PATCH, DELETE. POST predeterminado. |
-s, --source |
Obligatorio. Nombre del objeto de base de datos (tabla, vista o procedimiento almacenado). |
--source.key-fields |
Los campos que se van a usar como claves principales. |
--source.params |
Solo procedimientos almacenados. Valores de parámetro predeterminados. |
--source.type |
Tipo de origen: table, view, stored-procedure (tabla predeterminada). |
--help |
Muestra esta pantalla de ayuda. |
--version |
Mostrar información de versión. |
<entity-name>
Nombre lógico de la entidad en la configuración. Distingue mayúsculas de minúsculas.
Ejemplos rápidos de tablas, vistas y procedimientos almacenados
Agregar una tabla
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Agregar una vista
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"
Adición de un procedimiento almacenado
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
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": [ { "action": "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": [ { "action": "read" } ] }
],
"cache": {
"enabled": false,
"ttl-seconds": 300
}
}
}
}
--description
Descripción de texto libre de la entidad.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con dotnet tool install microsoft.dataapibuilder --prerelease.
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": [ { "action": "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": [
{
"action": "read",
"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": [
{
"action": "read",
"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": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"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": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query"
}
}
}
}
--permissions
Define pares role→actions.
--permissions no se puede repetir. Para agregar más roles, ejecute dab add con un rol y, a continuación, ejecute dab update para roles adicionales.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--parameters.name
Solo procedimientos almacenados. Lista separada por comas de nombres de parámetros.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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"
Configuración resultante
{
"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
Solo procedimientos almacenados. Lista separada por comas de descripciones de parámetros alineadas con --parameters.name.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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
Solo procedimientos almacenados. Lista separada por comas de true/false valores alineados con .--parameters.name
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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
Solo procedimientos almacenados. Lista separada por comas de valores predeterminados alineados con --parameters.name.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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
Nombre de la columna de base de datos que se va a describir.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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"
Configuración resultante
{
"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
Alias para el campo. Use una lista separada por comas alineada con --fields.name.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
Descripción del campo. Use una lista separada por comas alineada con --fields.name.
Nota:
Esta opción solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con 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
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 solo está disponible en la CLI de versión preliminar v1.7 (actualmente RC). Instale con dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Configuración resultante
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"primary-key": true
}
]
}
}
}
--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": [
{
"action": "read",
"policy": {
"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": [
{
"action": "read",
"policy": {
"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": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Solo procedimientos almacenados. Verbos HTTP permitidos para la ejecución: GET, POST, PUT, PATCH, DELETE. 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": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
-s, --source
Obligatorio. Nombre del objeto de base de datos: tabla, vista, contenedor 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": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Los campos que se van a usar como claves principales. Necesario para las vistas cuando se generan a través de la CLI.
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",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Solo procedimientos almacenados. Pares separados por comas name:value . No se permite para tablas o vistas.
Nota:
En la CLI de versión preliminar v1.7 (actualmente RC), --source.params está en desuso. En su lugar, use --parameters.namelas opciones relacionadas --parameters.* , --parameters.defaulty .
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",
"parameters": [
{
"name": "year",
"required": false,
"default": "2024"
},
{
"name": "active",
"required": false,
"default": "True"
}
]
},
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
]
}
}
}
--help
Muestra esta pantalla de ayuda.
Example
dab add \
--help
--version
Mostrar información de versión.
Example
dab add \
--version
--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": [ { "action": "read" } ] }
]
}
}
}