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.
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). |
--fields.name |
Nomi di campo da descrivere (ripetibili o delimitati da virgole). |
--fields.alias |
Alias di campo (delimitati da virgole, allineati a --fields.name). |
--fields.description |
Descrizioni dei campi (delimitate da virgole, allineate a --fields.name). |
--fields.primary-key |
Flag di chiave primaria (delimitati da virgole, allineati a --fields.name). |
--graphql |
Esposizione graphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo stored procedure.
Query o Mutation (mutazione predefinita). |
--permissions |
Obbligatorio.
role:actions per un singolo ruolo. |
--policy-database |
Filtro in stile OData applicato nella query di database. |
--policy-request |
Criteri di richiesta valutati prima della chiamata al database. |
--parameters.name |
Solo stored procedure. Nomi di parametro (delimitati da virgole). |
--parameters.description |
Solo stored procedure. Descrizioni dei parametri. |
--parameters.required |
Solo stored procedure. Flag obbligatori dei parametri. |
--parameters.default |
Solo stored procedure. Valori predefiniti dei parametri. |
--rest |
Esposizione REST: false, trueo route personalizzata. |
--rest.methods |
Solo stored procedure. Verbi consentiti: GET, POST, PATCHPUT, , DELETE. POST predefinito. |
-s, --source |
Obbligatorio. Nome dell'oggetto di database (tabella, vista o stored procedure). |
--source.key-fields |
Campi da usare come chiavi primarie. |
--source.params |
Solo stored procedure. Valori dei parametri predefiniti. |
--source.type |
Tipo di origine: table, view, stored-procedure (tabella predefinita). |
--help |
Visualizza questa schermata della Guida. |
--version |
Visualizzare le informazioni sulla versione. |
<entity-name>
Nome logico dell'entità nella configurazione. Distinzione tra maiuscole e minuscole.
Esempi rapidi per tabelle, viste e stored procedure
Aggiungere una tabella
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Aggiungi 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"
Aggiungere una stored procedure
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
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": [ { "action": "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": [ { "action": "read" } ] }
],
"cache": {
"enabled": false,
"ttl-seconds": 300
}
}
}
}
--description
Descrizione in formato libero dell'entità.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --prerelease.
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": [ { "action": "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": [
{
"action": "read",
"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": [
{
"action": "read",
"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": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"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": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query"
}
}
}
}
--permissions
Definisce le coppie role→actions.
--permissions non è ripetibile. Per aggiungere altri ruoli, eseguire dab add con un ruolo e quindi eseguire dab update per altri ruoli.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--parameters.name
Solo stored procedure. Elenco delimitato da virgole di nomi di parametri.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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"
Configurazione risultante
{
"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 stored procedure. Elenco delimitato da virgole delle descrizioni dei parametri allineate a --parameters.name.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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 stored procedure. Elenco delimitato da virgole di true/false valori allineati a .--parameters.name
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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 stored procedure. Elenco delimitato da virgole di valori predefiniti allineati a --parameters.name.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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
Nome della colonna del database da descrivere.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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"
Configurazione risultante
{
"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 per il campo. Usare un elenco delimitato da virgole allineato a --fields.name.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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
Descrizione per il campo. Usare un elenco delimitato da virgole allineato a --fields.name.
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione 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
Flag di chiave primaria per il campo. Usare un elenco delimitato da virgole di true/false valori allineati a .--fields.name
Annotazioni
Questa opzione è disponibile solo nell'interfaccia della riga di comando non definitiva v1.7 (attualmente RC). Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Configurazione risultante
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"primary-key": true
}
]
}
}
}
--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": [
{
"action": "read",
"policy": {
"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": [
{
"action": "read",
"policy": {
"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": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Solo stored procedure. Verbi HTTP consentiti per l'esecuzione: GET, POST, PUT, PATCH, DELETE. 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": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
-s, --source
Obbligatorio. Nome dell'oggetto di database: tabella, vista, contenitore 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": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Campi da usare come chiavi primarie. Obbligatorio per le visualizzazioni quando generato tramite l'interfaccia della riga di comando.
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",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Solo stored procedure. Coppie delimitate da name:value virgole. Non consentito per tabelle o viste.
Annotazioni
Nell'interfaccia della riga di comando versione 1.7 (attualmente RC) --source.params è deprecata. Usare --parameters.nameinvece le opzioni correlate , --parameters.defaulte --parameters.* .
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",
"parameters": [
{
"name": "year",
"required": false,
"default": "2024"
},
{
"name": "active",
"required": false,
"default": "True"
}
]
},
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
]
}
}
}
--help
Visualizza questa schermata della Guida.
Example
dab add \
--help
--version
Visualizzare le informazioni sulla versione.
Example
dab add \
--version
--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": [ { "action": "read" } ] }
]
}
}
}