Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Adicione uma nova definição de entidade a um arquivo de configuração existente do Data API builder. Você já deve ter uma configuração criada com dab inito . Use dab update para modificar entidades após a criação.
Sugestão
Use dab add para criar novas entidades e dab update para evolui-las. O remapeamento do nome do campo (--map) só está disponível em update, não em add.
Sintaxe
dab add <entity-name> [options]
Visão rápida
| Opção | Resumo |
|---|---|
<entity-name> |
Argumento posicional necessário. Nome lógico da entidade. |
-c, --config |
Caminho do arquivo de configuração. Padrão dab-config.json. |
--cache.enabled |
Ativar/desativar cache para entidade. |
--cache.ttl |
Cache time-to-live em segundos. |
--description |
Descrição de forma livre para entidade. |
--fields.exclude |
Campos excluídos separados por vírgula. |
--fields.include |
Campos permitidos separados por vírgulas (* = todos). |
--graphql |
Exposição ao GraphQL: false, true, singular, ou singular:plural. |
--graphql.operation |
Somente procedimentos armazenados.
query ou mutation (mutação padrão). |
--permissions |
Required. Um ou mais role:actions pares. Repetível. |
--policy-database |
Filtro no estilo OData aplicado na consulta de banco de dados. |
--policy-request |
Política de solicitação avaliada antes da chamada do banco de dados. |
--rest |
Exposição REST: false, true, ou rota personalizada. |
--rest.methods |
Somente procedimentos armazenados. Verbos HTTP permitidos. POST padrão. |
-s, --source |
Required. Nome do objeto de banco de dados (tabela, exibição ou procedimento armazenado). |
--source.key-fields |
Necessário para visualizações ou quando PK não é inferido. Não permitido para procs. |
--source.params |
Somente procedimentos armazenados. Valores de parâmetros padrão. |
--source.type |
Tipo de fonte: table, view, stored-procedure (tabela padrão). |
<entity-name>
Nome lógico da entidade na configuração. Diferencia maiúsculas de minúsculas.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]
}
}
}
-c, --config
Caminho do arquivo de configuração. A predefinição é dab-config.json.
Example
dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"
--cache.enabled
Habilite ou desabilite o cache.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Cache time-to-live em segundos.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Descrição em texto livre da entidade.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"
Configuração 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 vírgulas de campos a excluir.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"
Configuração 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 vírgulas de campos a expor.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"include": [ "id", "title", "price" ]
}
}
}
}
}
--graphql
Controle a exposição ao GraphQL.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Somente procedimentos armazenados. Tipo de operação GraphQL. A predefinição é mutation.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query
Configuração resultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"graphql": {
"operation": "query"
}
}
}
}
--permissions
Define pares de funções→ações. Use sinalizadores repetidos para várias funções.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] },
{ "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
]
}
}
}
--policy-database
Política no nível de banco de dados.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Política de nível de solicitação.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--rest
Controle a exposição REST.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi
Configuração resultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Somente procedimentos armazenados. Verbos HTTP permitidos para execução. O padrão é POST. Ignorado para tabelas/exibições.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST
Configuração resultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"rest": {
"path": "BookProc",
"methods": [ "GET", "POST" ]
}
}
}
}
-s, --source
Required. Nome do objeto de banco de dados: tabela, exibição ou procedimento armazenado.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.key-fields
Necessário para vistas. Também necessário para tabelas sem uma PK inferível. Não permitido para procedimentos armazenados.
Example
dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"
Configuração resultante
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"keyFields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.params
Somente procedimentos armazenados. Pares separados por name:value vírgula. Não permitido para tabelas ou vistas.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"
Configuração 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 banco de dados. Padrão: table.
Example
dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}