Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiungere una nuova definizione di entità a un file di configurazione di Generatore API dati esistente. È necessario avere già una configurazione creata con dab init. Usare dab update per modificare le entità dopo la creazione.
Suggerimento
Usare dab add per creare nuove entità e dab update per evolverle. Il mapping del nome del campo (--map) è disponibile solo in update, non in add.
Sintassi
dab add <entity-name> [options]
Sguardo rapido
| Opzione | Riassunto |
|---|---|
<entity-name> |
Argomento posizionale obbligatorio. Nome dell'entità logica. |
-c, --config |
Percorso del file di configurazione. Valore predefinito dab-config.json. |
--cache.enabled |
Abilitare/disabilitare la memorizzazione nella cache per l'entità. |
--cache.ttl |
Tempo di memorizzazione nella cache in secondi. |
--description |
Descrizione in formato libero per l'entità. |
--fields.exclude |
Campi esclusi delimitati da virgole. |
--fields.include |
Campi consentiti delimitati da virgole (* = all). |
--graphql |
Esposizione graphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo stored procedure.
query o mutation (mutazione predefinita). |
--permissions |
Obbligatorio. Una o più role:actions coppie. Ripetibile. |
--policy-database |
Filtro in stile OData applicato nella query di database. |
--policy-request |
Criteri di richiesta valutati prima della chiamata al database. |
--rest |
Esposizione REST: false, trueo route personalizzata. |
--rest.methods |
Solo stored procedure. Verbi HTTP consentiti. POST predefinito. |
-s, --source |
Obbligatorio. Nome dell'oggetto di database (tabella, vista o stored procedure). |
--source.key-fields |
Obbligatorio per le visualizzazioni o quando l'infrastruttura a chiave pubblica non viene dedotta. Non consentito per procs. |
--source.params |
Solo stored procedure. Valori dei parametri predefiniti. |
--source.type |
Tipo di origine: table, view, stored-procedure (tabella predefinita). |
<entity-name>
Nome logico dell'entità nella configurazione. Distinzione tra maiuscole e minuscole.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]
}
}
}
-c, --config
Percorso del file di configurazione. Il valore predefinito è dab-config.json.
Example
dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"
--cache.enabled
Abilitare o disabilitare la memorizzazione nella cache.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Tempo di memorizzazione nella cache in secondi.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Descrizione in formato libero dell'entità.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Elenco delimitato da virgole di campi da escludere.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
}
}
}
--fields.include
Elenco delimitato da virgole di campi da esporre.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"include": [ "id", "title", "price" ]
}
}
}
}
}
--graphql
Controllare l'esposizione di GraphQL.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Solo stored procedure. Tipo di operazione GraphQL. Il valore predefinito è mutation.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query
Configurazione risultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"graphql": {
"operation": "query"
}
}
}
}
--permissions
Definisce le coppie role→actions. Usare flag ripetuti per più ruoli.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] },
{ "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
]
}
}
}
--policy-database
Criteri a livello di database.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Criteri a livello di richiesta.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--rest
Controllare l'esposizione REST.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi
Configurazione risultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Solo stored procedure. Verbi HTTP consentiti per l'esecuzione. Il valore predefinito è POST. Ignorato per tabelle/viste.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST
Configurazione risultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"rest": {
"path": "BookProc",
"methods": [ "GET", "POST" ]
}
}
}
}
-s, --source
Obbligatorio. Nome dell'oggetto di database: tabella, vista o stored procedure.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.key-fields
Obbligatorio per le visualizzazioni. Obbligatorio anche per le tabelle senza un'infrastruttura a chiave pubblica inferibile. Non consentito per le stored procedure.
Example
dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"
Configurazione risultante
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"keyFields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.params
Solo stored procedure. Coppie delimitate da name:value virgole. Non consentito per tabelle o viste.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"
Configurazione risultante
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"params": {
"year": 2024,
"active": true
}
},
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
]
}
}
}
--source.type
Tipo di oggetto di database. Impostazione predefinita: table.
Example
dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}