Data API Builder-Befehlszeilenschnittstellenreferenz
Die Befehlszeilenschnittstelle des Daten-API-Generators (CLI) (dab CLI oder dab
) ist ein Befehlszeilentool, das die lokale Entwicklungsumgebung für Anwendungen mit Daten-API-Generator optimiert.
Tipp
Die Cli des Daten-API-Generators verfügt über ein integriertes Hilfesystem. Um eine Liste der verfügbaren Befehle abzurufen, verwenden Sie die --help
Option für den dab
Befehl.
dab --help
Verwenden Sie die --help
Option, um Hilfe zu einem bestimmten Befehl zu erhalten. Um z. B. mehr über den init
Befehl zu erfahren:
dab init --help
Befehlszeilenverben und -optionen
init
Initialisiert die Laufzeitkonfiguration für die Data API Builder-Runtime-Engine. 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 | Zeichenfolge | Typ der Zu verbindenden Datenbank. Unterstützte Werte: mssql , cosmosdb_nosql , cosmosdb_postgresql , mysql , postgresql . |
|
--connection-string | ❌ Nein | "" |
✔️ Ja | Zeichenfolge | Verbindungsdetails zum Herstellen einer Verbindung mit der Datenbank. |
--cosmosdb_nosql-Datenbank | ✔️ Ja ¹ | ✔️ Ja | Zeichenfolge | Datenbankname für Cosmos DB for NoSql. | |
--cosmosdb_nosql-container | ❌ Nein | ✔️ Ja | Zeichenfolge | Containername für Cosmos DB for NoSql. | |
--graphql-schema | ✔️ Ja ¹ | ✔️ Ja | Zeichenfolge | GraphQL Schemapfad | |
--set-session-context | ❌ Nein | false |
❌ Nein | Aktivieren Sie das Senden von Daten an MsSql mithilfe des Sitzungskontexts. | |
--host-mode | ❌ Nein | production |
✔️ Ja | Zeichenfolge | Angeben des Hostmodus – Entwicklung oder Produktion |
--cors-origin | ❌ Nein | "" |
✔️ Ja | Zeichenfolge | Geben Sie die Liste der zulässigen Ursprünge an. |
--auth.provider | ❌ Nein | StaticWebApps |
✔️ Ja | Zeichenfolge | Geben Sie den Identitätsanbieter an. |
--rest.path | ❌ Nein | /api |
✔️ Ja | Zeichenfolge | Geben Sie das Präfix des REST-Endpunkts an. |
--rest.disabled | ❌ Nein | false |
❌ Nein | Deaktiviert den REST-Endpunkt für alle Entitäten. | |
--rest.enabled | ❌ Nein | true |
✔️ Ja | Aktiviert den REST-Endpunkt für alle Entitäten. | |
--rest.request-body-strict | ❌ Nein | true |
✔️ Ja | Erlaubt keine fremdförmigen Felder im Anforderungstext. | |
--graphql.path | ❌ Nein | /graphql |
✔️ Ja | Zeichenfolge | Geben Sie das Präfix GraphQL Endpunkts an. |
--graphql.disabled | ❌ Nein | false |
❌ Nein | Deaktiviert GraphQL Endpunkt für alle Entitäten. | |
--graphql.enabled | ❌ Nein | true |
✔️ Ja | Aktiviert GraphQL Endpunkt für alle Entitäten. | |
--graphql.multiple-create.enabled | ❌ Nein | false |
✔️ Ja | Ermöglicht mehrere Erstellungsfunktionen in GraphQL. | |
--auth.audience | ❌ Nein | ✔️ Ja | Zeichenfolge | Gibt die Empfänger an, für die das Json-Webtoken (JWT) vorgesehen ist. | |
--auth.issuer | ❌ Nein | ✔️ Ja | Zeichenfolge | Geben Sie die Partei an, die das JWT-Token ausgestellt hat. | |
-c,--config | ❌ Nein | dab-config.json |
✔️ Ja | Zeichenfolge | Pfad zur Konfigurationsdatei. |
¹ Diese Option ist nur erforderlich, wenn --database-type
auf cosmosdb_nosql
festgelegt 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,--source | ✔️ Ja | ✔️ Ja | Zeichenfolge | Name der Quelltabelle oder des Quellcontainers. | |
--Berechtigungen | ✔️ Ja | ✔️ Ja | Zeichenfolge | Erforderliche Berechtigungen für den Zugriff auf die Quelltabelle oder den Quellcontainer. Format: [role]:[actions] . |
|
--source.type | ❌ Nein | table |
✔️ Ja | Zeichenfolge | Typ des Datenbankobjekts. Unterstützte Werte: table , view , stored-procedure . |
--source.params | ❌ Nein | ✔️ Ja | Zeichenfolge | Wörterbuch der Parameter und deren Werte für das Source-Objekt. param1:val1,param2:value2,... für gespeicherte Prozeduren. |
|
--source.key-Felder | ✔️ Ja ¹ | ✔️ Ja | Zeichenfolge | Mindestens ein Feld, das nur für Tabellen und Ansichten als Primärschlüssel verwendet werden soll. Durch Trennzeichen getrennte Werte. Beispiel: --source.key-fields "id,name,type" . |
|
--Ruhepause | ❌ Nein | Entitätsname, bei dem die Groß-/Kleinschreibung beachtet wird | ✔️ Ja | Zeichenfolge | Route für die REST-API. Beispiele: --rest: false –> Deaktiviert REST-API-Aufrufe für diese Entität. --rest: true -> Entitätsname wird zum Restpfad. --rest: "customPathName" –> Der angegebene customPathName wird zum REST-Pfad. |
--rest.methods | ❌ Nein | post |
✔️ Ja | Zeichenfolge | 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ätsname, bei dem die Groß-/Kleinschreibung beachtet wird | ✔️ Ja | Bool/String | 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 singulare Form des Entitätsnamens wird für die Abfrage- und Mutationsnamen berücksichtigt. --graphql: "customQueryName" –> Legt explizit den Singularwert fest, während DAB den angegebenen Wert für Abfragen und Mutationen pluralisiert. --graphql: "singularName:pluralName" -> Legt sowohl den Singular- als auch den Pluralwert (durch einen Doppelpunkt : getrennt) fest, der für Abfragen und Mutationen verwendet wird. |
--graphql.operation | ❌ Nein | mutation |
✔️ Ja | Zeichenfolge | GraphQL Vorgang, der für die gespeicherte Prozedur unterstützt werden soll. Unterstützte Werte: query , mutation . |
--fields.include | ❌ Nein | ✔️ Ja | Zeichenfolge | Felder mit Zugriffsberechtigung. | |
--fields.exclude | ❌ Nein | ✔️ Ja | Zeichenfolge | Felder, die aus den Aktionslisten ausgeschlossen sind. | |
--policy-database | ❌ Nein | ✔️ Ja | Zeichenfolge | Geben Sie eine OData-Formatfilterregel an, die in die an die Datenbank gesendete Abfrage eingefügt wird. | |
-c,--config | ❌ Nein | dab-config.json |
✔️ Ja | Zeichenfolge | Pfad zur Konfigurationsdatei. |
¹ Diese Option ist nur erforderlich, wenn --source.type
auf view
festgelegt ist.
update
Aktualisieren Sie die Eigenschaften einer beliebigen Datenbankentität in der Konfigurationsdatei.
Hinweis
dab update
unterstützt alle Optionen, die von dab add
unterstü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 | Zeichenfolge | Geben Sie die Beziehung zwischen zwei Entitäten an. Geben Sie den Namen der Beziehung an. | |
--Kardinalität | ✔️ Ja ¹ | ✔️ Ja | Zeichenfolge | Geben Sie die Kardinalität zwischen zwei Entitäten an. Kann eine oder mehrere sein. | |
--target.entity | ✔️ Ja ¹ | ✔️ Ja | Zeichenfolge | Eine weitere verfügbar gemachte Entität, auf die sich die Quellentität bezieht. | |
--linking.object | ❌ Nein | ✔️ Ja | Zeichenfolge | Datenbankobjekt, das zur Unterstützung einer M:N-Beziehung verwendet wird. | |
--linking.source.fields | ❌ Nein | ✔️ Ja | Zeichenfolge | 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 | Zeichenfolge | Datenbankfelder im verknüpfenden Objekt, um eine Verbindung mit dem zugehörigen Element in der Zielentität herzustellen. Durch Trennzeichen getrennte Felder. | |
--relationship.fields | ❌ Nein | ✔️ Ja | Zeichenfolge | Geben Sie Felder an, die für die Zuordnung der Entitäten verwendet werden sollen. Beispiel: --relationship.fields "id:book_id" . id Hier stellt die Spalte aus sourceEntity und von book_id targetEntity dar. Fremdschlüssel sind zwischen den zugrunde liegenden Quellen erforderlich, sofern nicht angegeben. |
|
-m,--map | ❌ Nein | ✔️ Ja | Zeichenfolge | Geben Sie Zuordnungen zwischen Datenbankfeldern und GraphQL- und REST-Feldern an. Format: --map "backendName1:exposedName1, backendName2:exposedName2,..." . |
¹ Diese Option ist nur erforderlich, wenn die --relationship
Option 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 sie GraphQL Schemas. | |
-o,--output | ✔️ Ja | ✔️ Ja | Zeichenfolge | Geben Sie das Verzeichnis an, in dem die Schemadatei gespeichert werden soll. | |
-g,--graphql-schema-file | ❌ Nein | schema.graphql |
✔️ Ja | Zeichenfolge | Geben Sie den Namen der Graphql-Schemadatei an. |
-c,--config | ❌ Nein | dab-config.json |
✔️ Ja | Zeichenfolge | Pfad zur Konfigurationsdatei. |
start
Starten Sie die Runtime-Engine 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 | Erforderlicher Wert | Werttyp | BESCHREIBUNG |
---|---|---|---|---|---|
--Ausführliche | ❌ Nein | ❌ Nein | Geben Sie den Protokolliergrad als Informationsebene an. | ||
--Loglevel | ❌ Nein | Debug wenn hostMode=development , andernfalls Error , wenn HostMode=Production |
✔️ Ja | Zeichenfolge | Geben Sie die Protokollierungsebene als bereitgestellten Wert an. Beispiel: Debuggen, Fehler, Informationen usw. |
--no-https-redirect | ❌ Nein | false |
✔️ Ja | Zeichenfolge | Deaktiviert automatische HTTPS-Umleitungen. |
-c,--config | ❌ Nein | dab-config.json |
✔️ Ja | Zeichenfolge | Pfad zur Konfigurationsdatei. |
Hinweis
Sie können und --LogLevel
nicht gleichzeitig verwenden--verbose
. Weitere Informationen zu verschiedenen Protokollierungsebenen finden Sie unter .NET-Protokollebenen.
validate
Überprüft die Laufzeitkonfigurationsdatei, die von der Runtime-Engine 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 die Laufzeit-Engine ordnungsgemäß funktioniert.
Syntax
dab validate [options]
Beispiele
dab validate
Optionen
Optionen | Option erforderlich | Standardwert | Erforderlicher Wert | Werttyp | BESCHREIBUNG |
---|---|---|---|---|---|
-c,--config | ❌ Nein | dab-config.json |
✔️ Ja | Zeichenfolge | Pfad zur Konfigurationsdatei, die das Ziel der Überprüfung ist. |