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 per un'entità esistente.
Suggerimento
Usare dab add per creare nuove entità e dab update per evolverle. Per gestire i metadati dei campi, usare --fields.name con --fields.alias, --fields.descriptione --fields.primary-key.
Sintassi
dab update <entity-name> [options]
Sguardo rapido
| Opzione | Riassunto |
|---|---|
<entity-name> |
Argomento posizionale obbligatorio. Nome dell'entità logica. |
-s, --source |
Nome della tabella di origine, della vista o della stored procedure. |
-m, --map |
Mapping tra campi di database e nomi esposti. |
--permissions |
Ruolo e azioni in role:actions formato. |
--description |
Sostituire la descrizione dell'entità. |
-c, --config |
Percorso del file di configurazione. La risoluzione predefinita si applica se omessa. |
--help |
Visualizzare la schermata della Guida. |
--version |
Visualizzare le informazioni sulla versione. |
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). |
Metadati dei campi
| Opzione | Riassunto |
|---|---|
--fields.name |
Nome della colonna del database da descrivere. |
--fields.alias |
Alias per il campo. |
--fields.description |
Descrizione per il campo. |
--fields.primary-key |
Impostare questo campo come chiave primaria. |
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 |
role:actions per un singolo ruolo. Eseguire più volte per più ruoli. |
--policy-database |
Filtro in stile OData inserito nella query del database. |
--policy-request |
Filtro della richiesta di predatabase. |
Relationships
| Opzione | Riassunto |
|---|---|
--relationship |
Nome relazione. Usare con le opzioni di relazione. |
--cardinality |
Cardinalità delle relazioni: one o many. |
--target.entity |
Nome entità di destinazione. |
--linking.object |
Collegamento dell'oggetto per molti-a-molti. |
--linking.source.fields |
Collegamento di campi oggetto che puntano all'origine. |
--linking.target.fields |
Collegamento di campi oggetto che puntano alla destinazione. |
--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. |
Mappe
| Opzione | Riassunto |
|---|---|
-m, --map |
Mapping tra campi di database e nomi esposti. |
MCP
| Opzione | Riassunto |
|---|---|
--mcp.dml-tools |
Abilitare o disabilitare gli strumenti DML MCP per questa entità. |
--mcp.custom-tool |
Abilitare lo strumento personalizzato MCP (solo stored procedure). |
Fonte
| Opzione | Riassunto |
|---|---|
-s, --source |
Nome dell'oggetto di database sottostante. |
--source.type |
Tipo di origine: table, viewo stored-procedure. |
--source.params |
Valori predefiniti dei parametri per le stored procedure. |
--source.key-fields |
Campi chiave primaria per viste o tabelle. |
Parametri (stored procedure)
| Opzione | Riassunto |
|---|---|
--parameters.name |
Elenco delimitato da virgole di nomi di parametri. |
--parameters.description |
Elenco delimitato da virgole delle descrizioni dei parametri. |
--parameters.required |
Elenco delimitato da virgole di flag obbligatori. |
--parameters.default |
Elenco delimitato da virgole di valori predefiniti. |
--cache.enabled
Abilitare o disabilitare la memorizzazione nella cache per questa entità.
Example
dab update \
Book \
--cache.enabled true
Configurazione risultante
{
"entities": {
"Book": {
"cache": {}
}
}
}
Annotazioni
Quando la memorizzazione nella cache è abilitata (impostazione predefinita), l'interfaccia della riga di comando scrive un oggetto vuoto cache . La "enabled" proprietà viene visualizzata in modo esplicito solo quando è impostata su false.
--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 fino a quando non viene abilitata la memorizzazione nella cache.
--description
Sostituire la descrizione dell'entità.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
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 \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"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 \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Controllare l'esposizione di GraphQL.
Example
dab update \
Book \
--graphql book:books
Configurazione risultante
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"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.
--permissions
Aggiunge o aggiorna le autorizzazioni per un singolo ruolo e le relative azioni.
È possibile eseguire dab update più volte (una volta per ogni ruolo) per aggiungere più ruoli.
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Annotazioni
Se il ruolo specificato esiste già, le relative azioni vengono aggiornate; in caso contrario, viene aggiunto il ruolo .
--policy-database
Filtro in stile OData aggiunto alla query del database.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Criteri a livello di richiesta valutati prima di raggiungere il database.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Configurazione risultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Definire o aggiornare una relazione. Usare con altre opzioni di relazione.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configurazione risultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--cardinality
Cardinalità per la relazione. Usare con --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nome dell'entità di destinazione per la relazione. Usare con --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Solo molti-a-molti. Nome dell'oggetto di database da utilizzare come oggetto di collegamento.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.source.fields
Solo molti-a-molti. Elenco delimitato da virgole di campi oggetto che puntano all'entità di origine.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.target.fields
Solo molti-a-molti. Elenco delimitato da virgole di campi oggetto che puntano all'entità di destinazione.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--relationship.fields
Mapping di campi separati da due punti per le relazioni dirette.
Il --relationship.fields valore è un elenco delimitato da virgole di sourceField:targetField coppie.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configurazione risultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--rest
Controllare l'esposizione REST.
Example
dab update \
Book \
--rest BooksApi
Configurazione risultante
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"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": {
"enabled": true,
"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": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.type
Modificare il tipo di oggetto di origine.
Annotazioni
Le viste richiedono --source.key-fields. Se si passa a view senza specificare key-fields, viene generato un errore.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
--source.params
Solo stored procedure. Valori predefiniti dei parametri come name:value coppie.
Example
dab update \
RunReport \
--source.params "startDate:2024-01-01,endDate:2024-12-31"
Configurazione risultante
{
"entities": {
"RunReport": {
"source": {
"type": "stored-procedure",
"parameters": [
{
"name": "startDate",
"required": false,
"default": "2024-01-01"
},
{
"name": "endDate",
"required": false,
"default": "2024-12-31"
}
]
}
}
}
}
--source.key-fields
Specificare i campi chiave primaria per le viste o le tabelle senza una chiave dedotta.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configurazione risultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
Annotazioni
Le visualizzazioni richiedono sempre campi chiave. L'opzione --source.key-fields aggiunge voci alla fields matrice con "primary-key": true.
-m, --map
Specificare i mapping tra i nomi delle colonne di database e i nomi dei campi REST/GraphQL esposti.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Configurazione risultante
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Annotazioni
L'opzione --map crea voci nella fields matrice con il set di alias proprietà.
--parameters.name
Solo stored procedure. Elenco delimitato da virgole di nomi di parametri.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Suggerimento
Per definire i parametri della stored procedure, usare --parameters.name con --parameters.description, --parameters.requirede --parameters.default.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Configurazione risultante
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--parameters.description
Solo stored procedure. Elenco delimitato da virgole delle descrizioni dei parametri allineate a --parameters.name.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range,End of date range"
--parameters.required
Solo stored procedure. Elenco delimitato da virgole di true/false valori allineati a .--parameters.name
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--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 nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nome della colonna del database da descrivere.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true \
--fields.description "Product Id"
Configurazione risultante
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--fields.alias
Alias per il campo. Usare un elenco delimitato da virgole allineato a --fields.name.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Suggerimento
Usare --fields.alias con --fields.name per definire nomi di campo esposti.
Example
dab update \
Products \
--fields.name "Id,Title" \
--fields.alias "product_id,product_title"
--fields.description
Descrizione per il campo. Usare un elenco delimitato da virgole allineato a --fields.name.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.description "Product Id"
--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 nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Suggerimento
Usare --fields.primary-key con --fields.name per definire i campi chiave primaria per le viste o le tabelle senza una chiave dedotta.
Example
dab update \
SalesSummary \
--fields.name "year,region" \
--fields.primary-key "true,true"
Configurazione risultante
{
"entities": {
"SalesSummary": {
"fields": [
{
"name": "year",
"primary-key": true
},
{
"name": "region",
"primary-key": true
}
]
}
}
}
--mcp.dml-tools
Abilitare o disabilitare gli strumenti DML MCP (data manipulation language) per questa entità. Il valore predefinito è true.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Book \
--mcp.dml-tools false
Configurazione risultante
{
"entities": {
"Book": {
"mcp": {
"dml-tools": false
}
}
}
}
Annotazioni
Quando --mcp.dml-tools viene usato, impostare mcp utilizzando il modulo oggetto in modo che la configurazione sia esplicita.
--mcp.custom-tool
Solo stored procedure. Abilitare lo strumento personalizzato MCP per questa entità. Il valore predefinito è false.
Annotazioni
Questa opzione è disponibile nell'interfaccia della 2.0.0-rc riga di comando. Il generatore di API dati 2.0 è attualmente in anteprima. Eseguire l'installazione con dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
RunReport \
--mcp.custom-tool true
Configurazione risultante
{
"entities": {
"RunReport": {
"mcp": {
"custom-tool": true
}
}
}
}
-c, --config
Percorso del file di configurazione.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Visualizzare la schermata della Guida.
Example
dab update --help
--version
Visualizzare le informazioni sulla versione.
Example
dab update --version
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.