Condividi tramite


Informazioni di riferimento sulle interfacce della riga di comando di Generatore API dati

L'interfaccia della riga di comando di Data API Builder (CLI) (interfaccia della riga di comando di dab o dab) è uno strumento da riga di comando che semplifica l'esperienza di sviluppo locale per le applicazioni che usano Generatore API dati.

Mancia

L'interfaccia della riga di comando di Data API Builder include un sistema di guida integrato. Per ottenere un elenco dei comandi disponibili, usare l'opzione --help nel comando dab.

dab --help

Per ottenere informazioni su un comando specifico, usare l'opzione --help. Ad esempio, per altre informazioni sul comando init:

dab init --help

Verbi e opzioni della riga di comando

init

Inizializza la configurazione di runtime per il motore di runtime di Generatore API dati. Crea un nuovo file JSON con le proprietà fornite come opzioni.

Sintassi

dab init [options]

Esempi

dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
--database-type ✔️ Sì ✔️ Sì corda Tipo di database da connettere. Valori supportati: mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, postgresql.
--connection-string ❌ No "" ✔️ Sì corda Dettagli di connessione per la connessione al database.
--cosmosdb_nosql-database ✔️ Sì ¹ ✔️ Sì corda Nome del database per Cosmos DB per NoSql.
--cosmosdb_nosql-container ❌ No ✔️ Sì corda Nome del contenitore per Cosmos DB per NoSql.
--graphql-schema ✔️ Sì ¹ ✔️ Sì corda Percorso schema GraphQL
--set-session-context ❌ No false ❌ No Abilitare l'invio di dati a MsSql usando il contesto di sessione.
--host-mode ❌ No production ✔️ Sì corda Specificare la modalità Host - sviluppo o produzione
--cors-origin ❌ No "" ✔️ Sì corda Specificare l'elenco delle origini consentite.
--auth.provider ❌ No StaticWebApps ✔️ Sì corda Specificare il provider di identità.
--rest.path ❌ No /api ✔️ Sì corda Specificare il prefisso dell'endpoint REST.
--rest.enabled ❌ No true ✔️ Sì booleano Abilita l'endpoint REST per tutte le entità.
--rest.request-body-strict ❌ No true ✔️ Sì Non consente campi estranei nel corpo della richiesta.
--graphql.path ❌ No /graphql ✔️ Sì corda Specificare il prefisso dell'endpoint GraphQL.
--graphql.enabled ❌ No true ✔️ Sì booleano Abilita l'endpoint GraphQL per tutte le entità.
--graphql.multiple-create.enabled ❌ No false ✔️ Sì Abilita più funzionalità di creazione in GraphQL.
--auth.audience ❌ No ✔️ Sì corda Identifica i destinatari a cui è destinato il token Json Web (JWT).
--auth.issuer ❌ No ✔️ Sì corda Specificare l'entità che ha emesso il token JWT.
-c,--config ❌ No dab-config.json ✔️ Sì corda Percorso del file di configurazione.

¹ Questa opzione è necessaria solo quando --database-type è impostato su cosmosdb_nosql.

add

Aggiungere una nuova entità di database al file di configurazione. Assicurarsi di avere già un file di configurazione prima di eseguire questo comando. In caso contrario, viene restituito un errore.

Sintassi

dab add [entity-name] [options]

Esempi

dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
-s,--source ✔️ Sì ✔️ Sì corda Nome della tabella o del contenitore di origine.
--permissions ✔️ Sì ✔️ Sì corda Autorizzazioni necessarie per accedere alla tabella o al contenitore di origine. Formato: [role]:[actions].
--source.type ❌ No table ✔️ Sì corda Tipo dell'oggetto di database. Valori supportati: table, view, stored-procedure.
--source.params ❌ No ✔️ Sì, se proc ha parametri corda Dizionario dei parametri della stored procedure e dei relativi tipi di dati. I tipi di dati supportati sono string, numbere boolean. I parametri vengono specificati nel formato : paramName:type. Ad esempio: --source.params "id:number,isActive:boolean,name:string".
campi di --source.key ✔️ Sì ¹ ✔️ Sì corda Uno o più campi da usare come chiavi primarie solo per tabelle e viste. Valori delimitati da virgole. Esempio --source.key-fields "id,name,type".
--rest ❌ No nome dell'entità con distinzione tra maiuscole e minuscole ✔️ Sì corda Route per l'API REST. Esempi: --rest: false :> Disabilita le chiamate API REST per questa entità. --rest: true:> nome dell'entità diventa il percorso rimanente. --rest: "customPathName":> CustomPathName fornito diventa il percorso REST.
--rest.methods ❌ No post ✔️ Sì corda Azioni HTTP da supportare per la stored procedure. Specificare le azioni come elenco delimitato da virgole. Le azioni HTTP valide sono:[get, post, put, patch, delete].
--graphql ❌ No nome dell'entità con distinzione tra maiuscole e minuscole ✔️ Sì Bool/String Tipo di entità esposto per GraphQL. Esempi: --graphql: false :> disabilita le chiamate graphql per questa entità. --graphql: true:> espone l'entità per GraphQL con nomi predefiniti. La forma singolare del nome dell'entità viene considerata per i nomi di query e mutazioni. --graphql: "customQueryName" :> imposta in modo esplicito il valore singolare mentre DAB pluralizza il valore fornito per query e mutazioni. --graphql: "singularName:pluralName" :> imposta i valori singolari e plurali (delimitati da due punti :) usati per query e mutazioni.
--graphql.operation ❌ No mutation ✔️ Sì corda Operazione GraphQL da supportare per la stored procedure. Valori supportati: query, mutation.
--fields.include ❌ No ✔️ Sì corda Campi con autorizzazione per l'accesso.
--fields.exclude ❌ No ✔️ Sì corda Campi esclusi dagli elenchi di azioni.
--policy-database ❌ No ✔️ Sì corda Specificare una regola di filtro dello stile OData inserita nella query inviata al database.
-c,--config ❌ No dab-config.json ✔️ Sì corda Percorso del file di configurazione.

¹ Questa opzione è necessaria solo quando --source.type è impostato su view.

update

Aggiornare le proprietà di qualsiasi entità di database nel file di configurazione.

Nota

dab update supporta tutte le opzioni supportate da dab add. Inoltre, supporta anche le opzioni elencate.

Sintassi

dab update [entity-name] [options]

Esempi

dab update Publisher --permissions "authenticated:*"

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
--relationship ❌ No ✔️ Sì corda Specificare la relazione tra due entità. Specificare il nome della relazione.
--cardinalità ✔️ Sì ¹ ✔️ Sì corda Specificare la cardinalità tra due entità. Potrebbe essere uno o molti.
--target.entity ✔️ Sì ¹ ✔️ Sì corda Un'altra entità esposta a cui è correlata l'entità di origine.
--linking.object ❌ No ✔️ Sì corda Oggetto di database utilizzato per supportare una relazione M:N.
--linking.source.fields ❌ No ✔️ Sì corda Campi di database nell'oggetto di collegamento per connettersi all'elemento correlato nell'entità di origine. Campi delimitati da virgole.
--linking.target.fields ❌ No ✔️ Sì corda Campi di database nell'oggetto di collegamento per connettersi all'elemento correlato nell'entità di destinazione. Campi delimitati da virgole.
--relationship.fields ❌ No ✔️ Sì corda Specificare i campi da usare per il mapping delle entità. Esempio: --relationship.fields "id:book_id". In questo caso, id rappresenta la colonna di sourceEntity, mentre book_id da targetEntity. Le chiavi esterne sono necessarie tra le origini sottostanti, se non specificato.
-m,--map ❌ No ✔️ Sì corda Specificare i mapping tra i campi di database e i campi GraphQL e REST. Formato: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Questa opzione è necessaria solo quando viene utilizzata l'opzione --relationship.

export

Esportare lo schema richiesto come file e salvarlo su disco in base alle opzioni.

Sintassi

dab export [options]

Esempi

dab export --graphql -o ./schemas

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
--graphql ❌ No false ❌ No Esportare lo schema GraphQL.
-o,--output ✔️ Sì ✔️ Sì corda Specificare la directory per salvare il file dello schema.
-g,--graphql-schema-file ❌ No schema.graphql ✔️ Sì corda Specificare il nome del file di schema Graphql.
-c,--config ❌ No dab-config.json ✔️ Sì corda Percorso del file di configurazione.

start

Avviare il motore di runtime con il file di configurazione fornito per gestire le richieste REST e GraphQL.

Sintassi

dab start [options]

Esempi

dab start

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
--verbose ❌ No ❌ No Specificare il livello di registrazione come informativo.
--LogLevel ❌ No Debug quando hostMode=development, Error quando HostMode=Production ✔️ Sì corda Specificare il livello di registrazione come valore specificato. esempio: debug, errore, informazioni e così via.
--no-https-redirect ❌ No ✔️ Sì - Disabilita i reindirizzamenti https automatici.
-c,--config ❌ No dab-config.json ✔️ Sì corda Percorso del file di configurazione.

Nota

Non è possibile usare --verbose e --LogLevel contemporaneamente. Per altre informazioni sui diversi livelli di registrazione, vedere livelli di log .NET.

validate

Convalida il file di configurazione di runtime usato dal motore di runtime di Generatore API dati. Il processo di convalida garantisce che il file di configurazione sia conforme allo schema e contenga tutte le informazioni necessarie per il corretto funzionamento del motore di runtime.

Sintassi

dab validate [options]

Esempi

dab validate

Opzioni

Opzioni Opzione obbligatoria Valore predefinito Valore obbligatorio Tipo valore Descrizione
-c,--config ❌ No dab-config.json ✔️ Sì corda Percorso del file di configurazione che rappresenta la destinazione della convalida.

configure

Il comando dab configure è progettato per semplificare l'aggiornamento delle proprietà di configurazione all'esterno della sezione delle entità. In questo documento vengono descritti i dettagli di progettazione, funzionalità e implementazione del comando dab configure. Supporta la modifica dell'interfaccia della riga di comando per le proprietà di configurazione nelle sezioni di origine dati e runtime della configurazione di runtime.

Nota

dab configure è solo per aggiornare le sezioni di origine dati e runtime della configurazione. Per la sezione delle entità, è già disponibile il comando dab update.

Sintassi

dab configure [options] [value]

Esempi

dab configure --runtime.rest.enabled true

Opzioni

Configuration File, proprietà Flag dell'interfaccia della riga di comando Tipo di dati Nullable Descrizione
origine dati.
tipo di database
--data-source.database-type Stringa: MSSQL, PostgreSQL, CosmosDB_NoSQL, MySQL Questo valore indica il tipo di database.
origine dati.
stringa di connessione
--data-source.connection-string Corda Fa riferimento alla stringa di connessione per l'origine dati.
origine dati.
options.database
--data-source.options.database Corda Fa riferimento al nome del database per Cosmos DB per NoSql.
origine dati.
options.container
--data-source.options.container Corda Fa riferimento al nome del contenitore per Cosmos DB per NoSql.
origine dati.
options.schema
--data-source.options.schema Corda Fornisce il percorso dello schema per Cosmos DB per NoSql.
origine dati.
options.set-session-context
--data-source.options.set-session-context Boolean: true, false (impostazione predefinita: true) Indica se abilitare il contesto della sessione.
Runtime.
rest.enabled
--runtime.rest.enabled Boolean: true, false (impostazione predefinita: true) Indica se abilitare l'endpoint REST di DAB.
Runtime.
rest.path
--runtime.rest.path Stringa (impostazione predefinita: /api) Personalizzare il percorso dell'endpoint REST di DAB. Condizioni: prefisso con '/', senza spazi e senza caratteri riservati.
Runtime.
rest.request-body-strict
--runtime.rest.request-body-strict Boolean: true, false (impostazione predefinita: true) Consente/Impedisce campi del corpo della richiesta REST estranei.
Runtime.
graphql.enabled
--runtime.graphql.enabled Boolean: true, false (impostazione predefinita: true) Abilitare/disabilitare l'endpoint GraphQL di DAB.
Runtime.
graphql.path
--runtime.graphql.path Stringa (impostazione predefinita: /graphql) Personalizzare il percorso dell'endpoint GraphQL di DAB. Condizioni: prefisso con '/', senza spazi e senza caratteri riservati.
Runtime.
graphql.depth-limit
--runtime.graphql.depth-limit Numero intero Questo si riferisce alla profondità massima consentita della query nidificata graphQL. Valori consentiti: (0.2147483647] inclusi. Il valore predefinito è infinito. Usare -1 per rimuovere il limite.
Runtime.
graphql.allow-introspection
--runtime.graphql.allow-introspection Boolean: true, false (impostazione predefinita: true) Consenti/Nega richieste di introspezione GraphQL nello schema GraphQL.
Runtime.
graphql.multiple-mutations.create.enabled
--runtime.graphql.multiple-mutations.create.enabled Boolean: true, false (impostazione predefinita: true) Abilitare/disabilitare operazioni di creazione di mutazioni multiple sullo schema GraphQL generato da DAB.
Runtime.
host.mode
--runtime.host.mode Stringa: Development, Production predefinita: Development Impostare la modalità di esecuzione host di DAB in Sviluppo o Produzione.
Runtime.
host.cors.origins
--runtime.host.cors.origins Matrice di stringhe Usare questa opzione per sovrascrivere le origini consentite in CORS. Impostazione predefinita: [] (matrice separata da spazi di stringhe).
Runtime.
host.cors.allow-credentials
--runtime.host.cors.allow-credentials Boolean: true, false (impostazione predefinita: false) Impostare il valore per Access-Control Allow-Credentials intestazione in --host.cors.allow-credentials .
Runtime.
host.authentication.provider
--runtime.host.authentication.provider Stringa: StaticWebApps, AppService, AzureAD, Jwt Configurare il nome del provider di autenticazione. Impostazione predefinita: StaticWebApps.
Runtime.
host.authentication.jwt.audience
--runtime.host.authentication.jwt.audience Matrice di stringhe Usare questa opzione per configurare i destinatari previsti del token Jwt.
Runtime.
host.authentication.jwt.issuer
--runtime.host.authentication.jwt.issuer Corda Questo si riferisce all'entità che ha emesso il token Jwt.
Runtime.
cache.enabled
--runtime.cache.enabled Boolean: true, false (impostazione predefinita: false) Abilitare/disabilitare la cache di DAB a livello globale. È anche necessario abilitare separatamente la cache di ogni entità.
Runtime.
cache.ttl-seconds
--runtime.cache.ttl-seconds Integer (impostazione predefinita: 5) Personalizzare il tempo predefinito predefinito globale della cache DAB in secondi.