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.
Aggiornare una definizione di entità esistente nel file di configurazione di Generatore API dati. Usare questo comando per modificare i metadati di origine, le autorizzazioni, l'esposizione (REST/GraphQL), i criteri, la memorizzazione nella cache, le relazioni, i mapping e i metadati descrittivi dopo l'aggiunta dell'entità.
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 update <entity-name> [options]
Sguardo rapido
| Opzione | Riassunto |
|---|---|
<entity-name> |
Argomento posizionale obbligatorio. Nome dell'entità logica. |
-c, --config |
Percorso del file di configurazione. La risoluzione predefinita si applica se omessa. |
--description |
Sostituire la descrizione dell'entità. |
Cache
| Opzione | Riassunto |
|---|---|
--cache.enabled |
Abilitare o disabilitare la memorizzazione nella cache delle entità. |
--cache.ttl |
Tempo di memorizzazione nella cache in secondi. |
Fields
| Opzione | Riassunto |
|---|---|
--fields.exclude |
Elenco delimitato da virgole di campi esclusi. |
--fields.include |
Elenco delimitato da virgole di campi inclusi (* = all). |
-m, --map |
Coppie di mapping dei campi name:alias. Sostituisce l'intero set. |
GraphQL
| Opzione | Riassunto |
|---|---|
--graphql |
Esposizione graphQL: false, true, singularo singular:plural. |
--graphql.operation |
Solo stored procedure: query o mutation (mutazione predefinita). |
Autorizzazioni e criteri
| Opzione | Riassunto |
|---|---|
--permissions |
Una o più role:actions coppie. Sostituisce l'elenco esistente. |
--policy-database |
Filtro in stile OData inserito nella query di database. |
--policy-request |
Filtro di richiesta pre-database. |
Relationships
| Opzione | Riassunto |
|---|---|
--relationship |
Nome relazione. Usare con le opzioni di relazione. |
--relationship.fields |
Mapping dei campi per le relazioni dirette. |
REST
| Opzione | Riassunto |
|---|---|
--rest |
Esposizione REST: false, trueo percorso personalizzato. |
--rest.methods |
Solo stored procedure. Sostituire i verbi HTTP consentiti. |
Fonte
| Opzione | Riassunto |
|---|---|
-s, --source |
Nome dell'oggetto di database sottostante. |
--source.key-fields |
Obbligatorio per le viste o le tabelle non PK. |
--source.params |
Solo stored procedure. Sostituire i parametri predefiniti. |
--source.type |
Tipo di origine: table, viewo stored-procedure. |
--cache.enabled
Abilitare o disabilitare la memorizzazione nella cache per questa entità.
Example
dab update Book --cache.enabled true
Configurazione risultante
{
"entities": {
"Book": {
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Impostare time-to-live della cache in secondi. È efficace solo se la memorizzazione nella cache è abilitata.
Example
dab update Book --cache.ttl 600
Configurazione risultante
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Annotazioni
L'inserimento della durata (TTL) quando la cache è disabilitata non ha alcun effetto finché non viene abilitata la memorizzazione nella cache.
--description
Sostituire la descrizione dell'entità.
Example
dab update Book --description "Updated description"
Configurazione risultante
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Elenco delimitato da virgole di campi da escludere.
Example
dab update Book --fields.exclude "internal_flag,secret_note"
Configurazione risultante
{
"entities": {
"Book": {
"graphql": {
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
}
}
}
--fields.include
Elenco delimitato da virgole di campi da includere.
* include tutti i campi. Sostituisce l'elenco di inclusioni esistente.
Example
dab update Book --fields.include "id,title,author"
Configurazione risultante
{
"entities": {
"Book": {
"graphql": {
"fields": {
"include": [ "id", "title", "author" ]
}
}
}
}
}
--graphql
Controllare l'esposizione di GraphQL.
Example
dab update Book --graphql book:books
Configurazione risultante
{
"entities": {
"Book": {
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Solo stored procedure. Imposta il tipo di operazione. Il valore predefinito è mutation.
Example
dab update RunReport --graphql.operation query
Configurazione risultante
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Annotazioni
L'inserimento --graphql.operation di tabelle o viste viene ignorato.
-m, --map
Eseguire il mapping dei campi del database ai nomi esposti. Sostituisce l'intero set di mapping.
Example
dab update Book --map "id:bookId,title:bookTitle"
Configurazione risultante
{
"entities": {
"Book": {
"mappings": {
"id": "bookId",
"title": "bookTitle"
}
}
}
}
Importante
Tutti i mapping esistenti vengono sovrascritti. Riformulare tutti i mapping da mantenere.
--permissions
Sostituire tutte le autorizzazioni con nuovi set di ruoli/azioni. Ripetere il flag per più ruoli.
Example
dab update Book --permissions "anonymous:read" --permissions "authenticated:create,read,update"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
},
{
"role": "authenticated",
"actions": [ "create", "read", "update" ]
}
]
}
}
}
Importante
Le autorizzazioni sostituiscono l'elenco esistente. Le autorizzazioni precedenti vengono rimosse.
--policy-database
Filtro in stile OData aggiunto alla query di database.
Example
dab update Book --policy-database "region eq 'US'"
Configurazione risultante
{
"entities": {
"Book": {
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Criteri a livello di richiesta valutati prima di raggiungere il database.
Example
dab update Book --policy-request "@claims.role == 'admin'"
Configurazione risultante
{
"entities": {
"Book": {
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--relationship
Definire o aggiornare una relazione. Usare con altre opzioni di relazione.
Example
dab update Book --relationship publisher --cardinality one --target.entity Publisher --relationship.fields "publisher_id:id"
Configurazione risultante
{
"entities": {
"Book": {
"relationships": {
"publisher": {
"cardinality": "one",
"target.entity": "Publisher",
"fields": {
"publisher_id": "id"
}
}
}
}
}
}
--relationship.fields
Mapping di campi separati da due punti per le relazioni dirette.
Example
dab update Book --relationship author --cardinality one --target.entity Author --relationship.fields "author_id:id"
Configurazione risultante
{
"entities": {
"Book": {
"relationships": {
"author": {
"cardinality": "one",
"target.entity": "Author",
"fields": {
"author_id": "id"
}
}
}
}
}
}
--rest
Controllare l'esposizione REST.
Example
dab update Book --rest BooksApi
Configurazione risultante
{
"entities": {
"Book": {
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Solo stored procedure. Sostituire i metodi HTTP consentiti. Il valore predefinito è POST.
Example
dab update RunReport --rest true --rest.methods GET,POST
Configurazione risultante
{
"entities": {
"RunReport": {
"rest": {
"path": "RunReport",
"methods": [ "GET", "POST" ]
}
}
}
}
Annotazioni
L'inserimento --rest.methods mentre REST è disabilitato non ha alcun effetto.
-s, --source
Aggiornare l'oggetto di database sottostante.
Example
dab update Book --source dbo.Books
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
}
}
}
}
--source.key-fields
Per le viste o le tabelle senza un'infrastruttura a chiave pubblica dedotta. Sostituisce le chiavi esistenti. Non valido per le stored procedure.
Example
dab update SalesSummary --source.type view --source.key-fields "year,region"
Configurazione risultante
{
"entities": {
"SalesSummary": {
"source": {
"type": "view",
"object": "SalesSummary",
"keyFields": [ "year", "region" ]
}
}
}
}
Annotazioni
L'utilizzo di --source.key-fields con stored procedure non è consentito.
--source.params
Solo stored procedure. Sostituire i valori predefiniti dei parametri.
Example
dab update RunReport --source.type stored-procedure --source.params "year:2024,region:west"
Configurazione risultante
{
"entities": {
"RunReport": {
"source": {
"type": "stored-procedure",
"object": "RunReport",
"params": {
"year": 2024,
"region": "west"
}
}
}
}
}
Annotazioni
L'uso di --source.params con tabelle o viste non è consentito.
--source.type
Modificare il tipo di oggetto di origine.
Example
dab update Book --source.type view
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
}
}
}
}
Importante
La modifica del tipo di origine può invalidare altre proprietà. Ad esempio, le visualizzazioni richiedono sempre campi chiave; Le stored procedure non possono definire campi chiave.