Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |
Yes | 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 | – | Einschränken auf Datensätze, die neuer als N Tage sind |
--sampling-group-count <int> |
Nein | – | Nur für TimePartitionedSampler |
-c, --config <file> |
Nein | Env-spezifisch oder dab-config.json |
Pfad zur Konfigurationsdatei |
--help |
Nein | – | Anzeigen des Hilfebildschirms |
--version |
Nein | – | Anzeigen von Versionsinformationen |
Verhalten
| Modus | Description |
|---|---|
| Vorhandenes Schema exportieren | Startet eine temporäre Laufzeit, introspects GraphQL Schema, schreibt Datei |
| Schema generieren | Beispiele für Cosmos DB-Dokumente und -Ableitungsschemas |
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-pathwahlfrei
Verwenden, wenn Partitionen unterschiedliche Schemas aufweisen
TimePartitionedSampler
- Teilt Min/Max
_tsin Zeitgruppen auf. - N-Dokumente pro Gruppe
-
--sampling-group-countErforderlich
Verwenden, wenn sich das Schema im Laufe der Zeit weiterentwickelt
Hinweis
Mehr Ressourcenintensiver aufgrund mehrerer Abfragen.
--graphql
Aktiviert den Schemaexport. Ohne sie geschieht nichts.
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 Cosmos DB-Daten
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
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)
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:
-
dab-config.<DAB_ENVIRONMENT>.jsonwenn env var festgelegt ist - 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 |
| Ungleich Null | 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.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Generierte Dateiverwendung
Legen Sie runtime.graphql.schema den exportierten Schemadateipfad fest. Weitere Informationen finden Sie unter Runtime-Konfiguration.
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.