Freigeben über


-Befehl

Exportieren oder generieren Sie eine GraphQL-Schemadatei, und speichern Sie sie auf dem Datenträger. Zwei Modi werden unterstützt:

  • Abrufen eines vorhandenen Schemas aus einer temporären DAB-Laufzeitinstanz
  • Generieren eines Schemas aus Cosmos DB für NoSQL Daten mithilfe des Samplings

Syntax

dab export --graphql -o <output-directory> [options]

Von Bedeutung

Erfordert eine gültige DAB-Konfiguration. Der Datenbanktyp wird aus der Konfigurationsdatei gelesen. Es wird keine Kennzeichnung akzeptiert.

Schnellblick

Option Erforderlich Standard Trifft zu
--graphql Nein* Falsch Muss für den Schemaexport festgelegt sein
-o, --output <dir> Yes Verzeichnis für Ausgabeschema
-g, --graphql-schema-file <name> Nein schema.gql Dateiname, der in ausgabedirig platziert wurde
--generate Nein Falsch Generieren eines Schemas aus Cosmos DB-Daten
-m, --sampling-mode <mode> Nein TopNExtractor Eine von: ,
-n, --sampling-count <int> Nein Modusabhängig Anzahl der Datensätze pro Modus
--sampling-partition-key-path <path> Nein Nur für
-d, --sampling-days <int> Nein Modusabhängig Einschränken auf Datensätze, die neuer als N Tage sind
--sampling-group-count <int> Nein (TimePartitionedSampler) Nur für
-c, --config <file> Nein Env-spezifisch oder Pfad zur Konfigurationsdatei
--help Nein Anzeigen des Hilfebildschirms
--version Nein Anzeigen von Versionsinformationen

ist nicht parser erforderlich, aber der Export schlägt fehl, es sei denn, Sie geben sie an.

Verhalten

Modus Description
Vorhandenes Schema exportieren Startet eine temporäre Laufzeit, introspects GraphQL Schema, schreibt Datei
Schema generieren Beispiele Azure Cosmos DB für NoSQL Dokumente und Ableitungsschemas

Im Exportmodus (ohne ), versucht DAB zuerst und greift auf .

Der Exportmodus wiederholt den Schemaabruf bis zu fünf Mal. Der Generierungsmodus verwendet einen einzigen Versuch.

Leeres Schema führt zu einem Fehler: "Generiertes GraphQL-Schema ist leer. Stellen Sie sicher, dass Daten verfügbar sind, um das Schema zu generieren."

Samplingmodi

TopNExtractor

  • Beispiele für N zuletzt verwendete Dokumente
  • Optionaler Zeitfilter mit

Wird für kleinere, einheitliche Datasets verwendet

EligibleDataSampler

  • Partitionsfähiges Sampling
  • N-Dokumente pro Partition
  • wahlfrei

Verwenden, wenn Partitionen unterschiedliche Schemas aufweisen

TimePartitionedSampler

  • Teilt Min/Max in Zeitgruppen auf.
  • N-Dokumente pro Gruppe
  • optional (Standard )

Verwenden, wenn sich das Schema im Laufe der Zeit weiterentwickelt

Hinweis

Mehr Ressourcenintensiver aufgrund mehrerer Abfragen.

--graphql

Aktiviert den Schemaexport. Ohne den Fehler wird ein Fehler exportiert und keine Schemadatei erzeugt.

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-out

-o, --output

Verzeichnis für Die Schemadatei. Wird erstellt, wenn dies fehlt.

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-out

-g, --graphql-schema-file

Nur Ausgabedateiname, Standardwert : .

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./out \
  -g custom-schema.gql

--generate

  • false (Standard): Startlaufzeit, Introspect-Schema
  • true: Generieren eines Schemas aus Azure Cosmos DB für NoSQL Daten

Von Bedeutung

--generate wird nur mit Azure Cosmos DB für NoSQL Konfiguration unterstützt.

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-gen \
  --generate

-m, --sampling-mode

Optionen: , , Standard:

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor

-n, --sampling-count

  • TopNExtractor: Gesamtdokumente
  • EligibleDataSampler: pro Partition
  • TimePartitionedSampler: pro Zeitgruppe

Standardwerte sind vom Modus abhängig:

  • :
  • :
  • :

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25

--sampling-partition-key-path

Partitionsschlüsselpfad für EligibleDataSampler

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId

-d, --sampling-days

Filtern von Dokumenten nach Reency (Tage)

Standardwerte sind vom Modus abhängig:

  • : kein Zeitlimit (Standard )
  • :
  • :

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-days 14

--sampling-group-count

Anzahl der Zeitgruppen für TimePartitionedSampler

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8

-c, --config

Konfigurationsdateipfad. Wenn nicht angegeben:

  1. wenn env var festgelegt ist
  2. Sonst

Example

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-out \
  --config ./dab-config.json

--help

Zeigen Sie den Hilfebildschirm an.

Example

  • Bash
  • Eingabeaufforderung
dab export --help

--version

Versionsinformationen anzeigen.

Example

  • Bash
  • Eingabeaufforderung
dab export --version

Rückgabecodes

Code Bedeutung
0 Export erfolgreich
-1 Exportfehler

Examples

Vorhandenes Schema exportieren

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-out

Schema generieren (TopNExtractor)

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25 \
  --sampling-days 14

Partitionsfähiges Sampling

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId \
  --sampling-count 10

Zeitbasiertes Sampling

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8 \
  --sampling-count 5 \
  --sampling-days 60

Benutzerdefinierter Ausgabedateiname

  • Bash
  • Eingabeaufforderung
dab export \
  --graphql \
  -o ./out \
  -g cosmos-schema.gql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Generierte Dateiverwendung

Legen Sie den exportierten Schemadateipfad fest. Weitere Informationen finden Sie unter "Datenquellenkonfiguration".

Tipp

Commit des generierten Schemas einmal stabil. Führen Sie die Ausführung erneut aus, wenn sich das Datenmodell ändert.

Problembehandlung

Symptom Ursache Reparatur
Leeres Schema Keine oder unzureichende Daten Hinzufügen von repräsentativen Daten
Konnektivitätsfehler Ungültige Verbindungszeichenfolge Korrigieren von Anmeldeinformationen oder Netzwerk
Fehlende Felder Nicht in beispielierten Dokumenten Erhöhen der Anzahl oder des Änderungsmodus
Wenige Partitionsergebnisse Falscher Partitionsschlüssel Angeben des richtigen Schlüsselpfads
Langsames Zeitsampling Großes Dataset Reduzieren von Gruppen oder Tagen

Bewährte Methoden

  • Mit TopNExtractor beginnen
  • Verwenden des Versionssteuerelements zum Diffieren von Schemaänderungen
  • Führen Sie für kritische Auflistungen mehrere Durchläufe mit unterschiedlichen Parametern aus.