Freigeben über


export-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 --database-type 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: TopNExtractor, EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> Nein Modusabhängig Anzahl der Datensätze pro Modus
--sampling-partition-key-path <path> Nein Nur für EligibleDataSampler
-d, --sampling-days <int> Nein Modusabhängig Einschränken auf Datensätze, die neuer als N Tage sind
--sampling-group-count <int> Nein 10 (TimePartitionedSampler) Nur für TimePartitionedSampler
-c, --config <file> Nein Env-spezifisch oder dab-config.json Pfad zur Konfigurationsdatei

* --graphql 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, introspektsiert das GraphQL-Schema und schreibt eine Datei.
Schema generieren Beispiele Azure Cosmos DB für NoSQL Dokumente und Ableitungsschemas

Im Exportmodus (ohne --generate), versucht DAB zuerst und https://localhost:5001 greift auf http://localhost:5000.

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 --sampling-days

Wird für kleinere, einheitliche Datasets verwendet

EligibleDataSampler

  • Partitionsfähiges Sampling
  • N-Dokumente pro Partition
  • --sampling-partition-key-path wahlfrei

Verwendung für Partitionen mit unterschiedlichen Schemas

TimePartitionedSampler

  • Teilt Min/Max _ts in Zeitgruppen auf.
  • N-Dokumente pro Gruppe
  • --sampling-group-count optional (Standard 10)

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

dab export \
  --graphql \
  -o ./schema-out

-o, --output

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

Example

dab export \
  --graphql \
  -o ./schema-out

-g, --graphql-schema-file

Nur Ausgabedateiname, Standardwert : schema.gql.

Example

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

dab export \
  --graphql \
  -o ./schema-gen \
  --generate

-m, --sampling-mode

Optionen: , , TopNExtractorEligibleDataSamplerStandard: TimePartitionedSamplerTopNExtractor

Example

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:

  • TopNExtractor: 10
  • EligibleDataSampler: 5
  • TimePartitionedSampler: 10

Example

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

--sampling-partition-key-path

Partitionsschlüsselpfad für EligibleDataSampler

Example

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:

  • TopNExtractor: kein Zeitlimit (Standard 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

Example

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

--sampling-group-count

Anzahl der Zeitgruppen für TimePartitionedSampler

Example

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

-c, --config

Konfigurationsdateipfad. Wenn nicht angegeben:

  1. dab-config.<DAB_ENVIRONMENT>.json wenn env var festgelegt ist
  2. Sonst dab-config.json

Example

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

--help

Zeigen Sie den Hilfebildschirm an.

Example

dab export --help

--version

Versionsinformationen anzeigen.

Example

dab export --version

Rückgabecodes

Code Bedeutung
0 Export erfolgreich
-1 Exportfehler

Examples

Vorhandenes Schema exportieren

dab export \
  --graphql \
  -o ./schema-out

Schema generieren (TopNExtractor)

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

Partitionsfähiges Sampling

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

Zeitbasiertes Sampling

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

Benutzerdefinierter Ausgabedateiname

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

Generierte Dateiverwendung

Legen Sie data-source.options.schema den exportierten Schemadateipfad fest. Weitere Informationen finden Sie unter "Datenquellenkonfiguration".

Tipp

Commit des generierten Schemas einmal stabil. Führen Sie 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 connection string 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.