Freigeben über


Referenz zur Befehlszeilenschnittstelle des Daten-API-Generators

Die Befehlszeilenschnittstelle (Cli) (dab CLI oder dab) ist ein Befehlszeilentool, das die lokale Entwicklungsumgebung für Anwendungen mit dem Daten-API-Generator optimiert.

Trinkgeld

Die Cli des Daten-API-Generators verfügt über ein integriertes Hilfesystem. Um eine Liste der verfügbaren Befehle abzurufen, verwenden Sie die Option --help für den Befehl dab.

dab --help

Verwenden Sie die Option --help, um Hilfe zu einem bestimmten Befehl zu erhalten. Um beispielsweise mehr über den Befehl init zu erfahren:

dab init --help

Befehlszeilenverben und -optionen

init

Initialisiert die Laufzeitkonfiguration für das Laufzeitmodul des Daten-API-Generators. Es erstellt eine neue JSON-Datei mit den Eigenschaften, die als Optionen bereitgestellt werden.

Syntax

dab init [options]

Beispiele

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

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
--database-type ✔️ Ja ✔️ Ja Schnur Typ der Datenbank, die eine Verbindung herstellen soll. Unterstützte Werte: mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, postgresql.
--connection-string- ❌ Nein "" ✔️ Ja Schnur Verbindungsdetails zum Herstellen einer Verbindung mit der Datenbank.
--cosmosdb_nosql-Datenbank- ✔️ Ja ¹ ✔️ Ja Schnur Datenbankname für Cosmos DB für NoSql.
--cosmosdb_nosql-container- ❌ Nein ✔️ Ja Schnur Containername für Cosmos DB für NoSql.
--graphql-schema ✔️ Ja ¹ ✔️ Ja Schnur GraphQL-Schemapfad
--set-session-context ❌ Nein false ❌ Nein Aktivieren Sie das Senden von Daten an MsSql mithilfe des Sitzungskontexts.
--hostmodus- ❌ Nein production ✔️ Ja Schnur Angeben des Hostmodus – Entwicklung oder Produktion
--cors-origin ❌ Nein "" ✔️ Ja Schnur Geben Sie die Liste der zulässigen Ursprünge an.
--auth.provider ❌ Nein StaticWebApps ✔️ Ja Schnur Geben Sie den Identitätsanbieter an.
--rest.path ❌ Nein /api ✔️ Ja Schnur Geben Sie das Präfix des REST-Endpunkts an.
--rest.enabled ❌ Nein true ✔️ Ja boolesch Aktiviert den REST-Endpunkt für alle Entitäten.
--rest.request-body-strict ❌ Nein true ✔️ Ja Lässt keine zusätzlichen Felder im Anforderungstext zu.
--graphql.path ❌ Nein /graphql ✔️ Ja Schnur Geben Sie das Präfix des GraphQL-Endpunkts an.
--graphql.enabled ❌ Nein true ✔️ Ja boolesch Aktiviert den GraphQL-Endpunkt für alle Entitäten.
--graphql.multiple-create.enabled ❌ Nein false ✔️ Ja Aktiviert mehrere Erstellungsfunktionen in GraphQL.
--auth.audience ❌ Nein ✔️ Ja Schnur Identifiziert die Empfänger, für die das JSON-Webtoken (JWT) vorgesehen ist.
--auth.issuer ❌ Nein ✔️ Ja Schnur Geben Sie die Partei an, die das JWT-Token ausgestellt hat.
-c,--config ❌ Nein dab-config.json ✔️ Ja Schnur Pfad zur Konfigurationsdatei.

¹ Diese Option ist nur erforderlich, wenn --database-type auf cosmosdb_nosqlfestgelegt ist.

add

Fügen Sie der Konfigurationsdatei eine neue Datenbankentität hinzu. Stellen Sie sicher, dass Sie bereits über eine Konfigurationsdatei verfügen, bevor Sie diesen Befehl ausführen, andernfalls wird ein Fehler zurückgegeben.

Syntax

dab add [entity-name] [options]

Beispiele

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

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
-s,--quelle ✔️ Ja ✔️ Ja Schnur Name der Quelltabelle oder des Quellcontainers.
--permissions- ✔️ Ja ✔️ Ja Schnur Berechtigungen, die für den Zugriff auf die Quelltabelle oder den Quellcontainer erforderlich sind. Format: [role]:[actions].
--source.type ❌ Nein table ✔️ Ja Schnur Typ des Datenbankobjekts. Unterstützte Werte: table, view, stored-procedure.
--source.params ❌ Nein ✔️ Ja, wenn proc Params hat Schnur Ein Wörterbuch mit Parametern für gespeicherte Prozeduren und deren Datentypen. Unterstützte Datentypen sind string, numberund boolean. Parameter werden im Format angegeben: paramName:type. Beispiel: --source.params "id:number,isActive:boolean,name:string".
--source.key felder ✔️ Ja ¹ ✔️ Ja Schnur Mindestens ein Feld, das nur als Primärschlüssel für Tabellen und Ansichten verwendet werden soll. Durch Trennzeichen getrennte Werte. Beispiel --source.key-fields "id,name,type".
--rest- ❌ Nein Entitätsnamen mit Beachtung der Groß-/Kleinschreibung ✔️ Ja Schnur Route für REST-API. Beispiele: --rest: false –> Deaktiviert REST-API-Aufrufe für diese Entität. --rest: true -> Entitätsname wird zum Restpfad. --rest: "customPathName" –> Bereitgestellter customPathName wird zum REST-Pfad.
--rest.methods ❌ Nein post ✔️ Ja Schnur HTTP-Aktionen, die für gespeicherte Prozeduren unterstützt werden sollen. Geben Sie die Aktionen als durch Trennzeichen getrennte Liste an. Gültige HTTP-Aktionen sind:[get, post, put, patch, delete].
--graphql- ❌ Nein Entitätsnamen mit Beachtung der Groß-/Kleinschreibung ✔️ Ja Bool/Zeichenfolge Entitätstyp, der für GraphQL verfügbar gemacht wird. Beispiele: --graphql: false –> deaktiviert Graphql-Aufrufe für diese Entität. --graphql: true –> Macht die Entität für GraphQL mit Standardnamen verfügbar. Die Singularform des Entitätsnamens wird für die Abfrage- und Mutationsnamen berücksichtigt. --graphql: "customQueryName" -> Legt den Singularwert explizit fest, während DAB den bereitgestellten Wert für Abfragen und Mutationen pluralisiert. --graphql: "singularName:pluralName" -> Legt sowohl die Singular- als auch die Pluralwerte (getrennt durch einen Doppelpunkt :) fest, der für Abfragen und Mutationen verwendet wird.
--graphql.operation ❌ Nein mutation ✔️ Ja Schnur GraphQL-Vorgang, der für gespeicherte Prozeduren unterstützt werden soll. Unterstützte Werte: query, mutation.
--fields.include ❌ Nein ✔️ Ja Schnur Felder mit Zugriffsberechtigung.
--fields.exclude ❌ Nein ✔️ Ja Schnur Felder, die aus den Aktionslisten ausgeschlossen sind.
--policy-database ❌ Nein ✔️ Ja Schnur Geben Sie eine OData-Filterregel an, die in die an die Datenbank gesendete Abfrage eingefügt wird.
-c,--config ❌ Nein dab-config.json ✔️ Ja Schnur Pfad zur Konfigurationsdatei.

¹ Diese Option ist nur erforderlich, wenn --source.type auf viewfestgelegt ist.

update

Aktualisieren Sie die Eigenschaften einer Datenbankentität in der Konfigurationsdatei.

Anmerkung

dab update unterstützt alle Optionen, die von dab addunterstützt werden. Darüber hinaus werden auch die aufgeführten Optionen unterstützt.

Syntax

dab update [entity-name] [options]

Beispiele

dab update Publisher --permissions "authenticated:*"

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
--Beziehung ❌ Nein ✔️ Ja Schnur Geben Sie die Beziehung zwischen zwei Entitäten an. Geben Sie den Namen der Beziehung an.
--Kardinalität ✔️ Ja ¹ ✔️ Ja Schnur Geben Sie die Kardinalität zwischen zwei Entitäten an. Dies kann eine oder mehrere sein.
--target.entity ✔️ Ja ¹ ✔️ Ja Schnur Eine andere verfügbar gemachte Entität, auf die sich die Quellentität bezieht.
--linking.object ❌ Nein ✔️ Ja Schnur Datenbankobjekt, das verwendet wird, um eine M:N-Beziehung zu unterstützen.
--linking.source.fields ❌ Nein ✔️ Ja Schnur Datenbankfelder im verknüpfenden Objekt, um eine Verbindung mit dem zugehörigen Element in der Quellentität herzustellen. Durch Trennzeichen getrennte Felder.
--linking.target.fields ❌ Nein ✔️ Ja Schnur Datenbankfelder im Verknüpfungsobjekt, um eine Verbindung mit dem zugehörigen Element in der Zielentität herzustellen. Durch Trennzeichen getrennte Felder.
--relationship.fields ❌ Nein ✔️ Ja Schnur Geben Sie Felder an, die zum Zuordnen der Entitäten verwendet werden sollen. Beispiel: --relationship.fields "id:book_id". Hier stellt id die Spalte aus "sourceEntity" dar, während book_id von targetEntity. Fremdschlüssel sind zwischen den zugrunde liegenden Quellen erforderlich, falls nicht angegeben.
-m,--map- ❌ Nein ✔️ Ja Schnur Geben Sie Zuordnungen zwischen Datenbankfeldern und GraphQL- und REST-Feldern an. Format: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Diese Option ist nur erforderlich, wenn die option --relationship verwendet wird.

export

Exportieren Sie das erforderliche Schema als Datei, und speichern Sie es basierend auf den Optionen auf dem Datenträger.

Syntax

dab export [options]

Beispiele

dab export --graphql -o ./schemas

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
--graphql- ❌ Nein false ❌ Nein Exportieren des GraphQL-Schemas.
-o,--output- ✔️ Ja ✔️ Ja Schnur Geben Sie das Verzeichnis an, um die Schemadatei zu speichern.
-g,--graphql-schema-file ❌ Nein schema.graphql ✔️ Ja Schnur Geben Sie den Namen der Graphql-Schemadatei an.
-c,--config ❌ Nein dab-config.json ✔️ Ja Schnur Pfad zur Konfigurationsdatei.

start

Starten Sie das Laufzeitmodul mit der bereitgestellten Konfigurationsdatei für die Bereitstellung von REST- und GraphQL-Anforderungen.

Syntax

dab start [options]

Beispiele

dab start

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
--ausführlich ❌ Nein ❌ Nein Geben Sie die Protokollierungsebene als Informationsebene an.
--LogLevel- ❌ Nein Debug, wenn hostMode=developmentError, wenn HostMode=Production ✔️ Ja Schnur Geben Sie die Protokollierungsebene als bereitgestellten Wert an. Beispiel: Debuggen, Fehler, Informationen usw.
--no-https-redirect ❌ Nein ✔️ Ja - Deaktiviert automatische HTTPS-Umleitungen.
-c,--config ❌ Nein dab-config.json ✔️ Ja Schnur Pfad zur Konfigurationsdatei.

Anmerkung

Sie können --verbose und --LogLevel nicht gleichzeitig verwenden. Weitere Informationen zu verschiedenen Protokollierungsebenen finden Sie unter .NET-Protokollebenen.

validate

Überprüft die Laufzeitkonfigurationsdatei, die vom Laufzeitmodul des Daten-API-Generators verwendet wird. Der Überprüfungsprozess stellt sicher, dass die Konfigurationsdatei mit dem Schema kompatibel ist und alle erforderlichen Informationen enthält, damit das Laufzeitmodul ordnungsgemäß funktioniert.

Syntax

dab validate [options]

Beispiele

dab validate

Optionen

Optionen Option Erforderlich Standardwert Wert erforderlich Werttyp Beschreibung
-c,--config ❌ Nein dab-config.json ✔️ Ja Schnur Pfad zur Konfigurationsdatei, die das Ziel der Überprüfung ist.

configure

Der Befehl dab configure dient zum Vereinfachen der Aktualisierung von Konfigurationseigenschaften außerhalb des Entitätenabschnitts. In diesem Dokument werden die Design-, Funktionalitäts- und Implementierungsdetails des Befehls zum Konfigurieren von Dab beschrieben. Sie unterstützt das Bearbeiten der CLI für Konfigurationseigenschaften in Datenquellen- und Laufzeitabschnitten der Laufzeitkonfiguration.

Anmerkung

dab configure dient nur zum Aktualisieren der Datenquellen- und Laufzeitabschnitte der Konfiguration. Für den Abschnitt "Entitäten" verfügen wir bereits über den Befehl "dab update".

Syntax

dab configure [options] [value]

Beispiele

dab configure --runtime.rest.enabled true

Optionen

Konfigurationsdateieigenschaft CLI-Kennzeichnung Datentyp Nullable Beschreibung
Datenquelle.
Datenbanktyp
--data-source.database-type Zeichenfolge: MSSQL, PostgreSQL, CosmosDB_NoSQL, MySQL Dieser Wert gibt den Datenbanktyp an.
Datenquelle.
Verbindungszeichenfolge
--data-source.connection-string Schnur Bezieht sich auf die Verbindungszeichenfolge für die Datenquelle.
Datenquelle.
options.database
--data-source.options.database Schnur Bezieht sich auf den Datenbanknamen für Cosmos DB für NoSql.
Datenquelle.
options.container
--data-source.options.container Schnur Bezieht sich auf den Containernamen für Cosmos DB für NoSql.
Datenquelle.
options.schema
--data-source.options.schema Schnur Stellt den Schemapfad für Cosmos DB für NoSql bereit.
Datenquelle.
options.set-session-context
--data-source.options.set-session-context Boolescher Wert: true, false (Standard: true) Gibt an, ob sitzungskontext aktiviert werden soll.
Laufzeit.
rest.enabled
--runtime.rest.enabled Boolescher Wert: true, false (Standard: true) Gibt an, ob der REST-Endpunkt von DAB aktiviert werden soll.
Laufzeit.
rest.path
--runtime.rest.path Zeichenfolge (Standard: /api) Passen Sie den REST-Endpunktpfad von DAB an. Bedingungen: Präfix mit '/', keine Leerzeichen und keine reservierten Zeichen.
Laufzeit.
rest.request-body-strict
--runtime.rest.request-body-strict Boolescher Wert: true, false (Standard: true) Erlaubt/verbietet zusätzliche REST-Anforderungstextfelder.
Laufzeit.
graphql.enabled
--runtime.graphql.enabled Boolescher Wert: true, false (Standard: true) Aktivieren/Deaktivieren des GraphQL-Endpunkts von DAB.
Laufzeit.
graphql.path
--runtime.graphql.path Zeichenfolge (Standard: /graphql) Passen Sie den GraphQL-Endpunktpfad von DAB an. Bedingungen: Präfix mit '/', keine Leerzeichen und keine reservierten Zeichen.
Laufzeit.
graphql.depth-limit
--runtime.graphql.depth-limit Ganze Zahl Dies bezieht sich auf die maximal zulässige Tiefe der geschachtelten GraphQL-Abfrage. Zulässige Werte: (0.2147483647] einschließlich. Der Standardwert ist unendlich. Verwenden Sie -1, um den Grenzwert zu entfernen.
Laufzeit.
graphql.allow-introspection
--runtime.graphql.allow-introspection Boolescher Wert: true, false (Standard: true) Allow/Deny GraphQL introspection requests in GraphQL Schema.
Laufzeit.
graphql.multiple-mutations.create.enabled
--runtime.graphql.multiple-mutations.create.enabled Boolescher Wert: true, false (Standard: true) Aktivieren/Deaktivieren von Multiple-Mutation-Erstellungsvorgängen im von DAB generierten GraphQL-Schema.
Laufzeit.
host.mode
--runtime.host.mode Zeichenfolge: Development, Production Standard: Development Legen Sie den Hostausführungsmodus von DAB in der Entwicklung oder Produktion fest.
Laufzeit.
host.cors.origins
--runtime.host.cors.origins Array von Zeichenfolgen Verwenden Sie diese Methode, um zulässige Ursprünge in CORS zu überschreiben. Standard: [] (durch Leerzeichen getrenntes Array von Zeichenfolgen).
Laufzeit.
host.cors.allow-credentials
--runtime.host.cors.allow-credentials Boolescher Wert: true, false (Standard: false) Legen Sie den Wert für Access-Control Allow-Credentials Header in --host.cors.allow-credentials fest.
Laufzeit.
host.authentication.provider
--runtime.host.authentication.provider Zeichenfolge: StaticWebApps, AppService, AzureAD, Jwt Konfigurieren Sie den Namen des Authentifizierungsanbieters. Standard: StaticWebApps.
Laufzeit.
host.authentication.jwt.audience
--runtime.host.authentication.jwt.audience Array von Zeichenfolgen Verwenden Sie diese Einstellung, um die vorgesehenen Empfänger des Jwt-Tokens zu konfigurieren.
Laufzeit.
host.authentication.jwt.issuer
--runtime.host.authentication.jwt.issuer Schnur Dies bezieht sich auf die Entität, die das Jwt-Token ausgestellt hat.
Laufzeit.
cache.enabled
--runtime.cache.enabled Boolescher Wert: true, false (Standard: false) Aktivieren/Deaktivieren des DAB-Caches global. (Sie müssen auch den Cache der einzelnen Entitäten separat aktivieren.)
Laufzeit.
cache.ttl-seconds
--runtime.cache.ttl-seconds Ganze Zahl (Standard: 5) Passen Sie die globale Standardzeit des DAB-Caches in Sekunden an.