Dela via


kommando`

Exportera eller generera en GraphQL-schemafil och spara den på disk. Två lägen stöds:

  • Hämta befintligt schema från en tillfällig DAB-körningsinstans
  • Generera schema från Cosmos DB för NoSQL data med sampling

Syntax

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

Viktigt!

Kräver en giltig DAB-konfiguration. Databastypen läse från konfigurationsfilen. Ingen flagga accepteras.

Snabbblick

Option Krävs Förinställning Gäller
--graphql Nej* false Måste anges för schemaexport
-o, --output <dir> Yes Katalog för utdataschema
-g, --graphql-schema-file <name> Nej schema.gql Filnamn som placeras i utdatadir
--generate Nej false Generera schema från Cosmos DB-data
-m, --sampling-mode <mode> Nej TopNExtractor En av: , ,
-n, --sampling-count <int> Nej Lägesberoende Antal poster per läge
--sampling-partition-key-path <path> Nej Endast för
-d, --sampling-days <int> Nej Lägesberoende Begränsa till poster som är nyare än N dagar
--sampling-group-count <int> Nej (TimePartitionedSampler) Endast för
-c, --config <file> Nej Env-specifik eller Sökväg till konfigurationsfil
--help Nej Visa hjälpskärmen
--version Nej Visa versionsinformation

är inte parser-obligatoriskt, men exporten misslyckas om du inte anger den.

Beteende

Mode Description
Exportera befintligt schema Startar en tillfällig körning, introspects GraphQL-schema, skriver fil
Generera schema Exempel Azure Cosmos DB för NoSQL dokument och härledningsschema

I exportläge (utan ) försöker DAB först och återgår till .

Återförsök av schemahämtning i exportläge upp till fem gånger. Generera läge använder ett enda försök.

Tomt schema resulterar i fel: "Det genererade GraphQL-schemat är tomt. Se till att data är tillgängliga för att generera schemat."

Samplingslägen

TopNExtractor

  • Exempel N senaste dokument
  • Valfritt tidsfilter med

Använd för mindre, enhetliga datamängder

EligibleDataSampler

  • Partitionsmedveten sampling
  • N dokument per partition
  • valfritt

Använd när partitioner har ett varierat schema

TimePartitionedSampler

  • Delar upp min/max i tidsgrupper
  • N dokument per grupp
  • valfritt (standard )

Använd när schemat utvecklas över tid

Anmärkning

Mer resurskrävande på grund av flera frågor.

--graphql

Aktiverar schemaexport. Utan det exporterar du ett fel och skapar ingen schemafil.

Example

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

-o, --output

Katalog för schemafil. Skapas om det saknas.

Example

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

-g, --graphql-schema-file

Endast utdatafilnamn, standardvärdet är .

Example

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

--generate

  • false (standard): Start runtime, introspect schema
  • true: Generera schema från Azure Cosmos DB för NoSQL data

Viktigt!

--generate stöds endast med Azure Cosmos DB för NoSQL konfiguration.

Example

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

-m, --sampling-mode

Alternativ: , , Standard:

Example

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

-n, --sampling-count

  • TopNExtractor: totalt antal dokument
  • EligibleDataSampler: per partition
  • TimePartitionedSampler: per tidsgrupp

Standardvärdena är lägesberoende:

  • :
  • :
  • :

Example

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

--sampling-partition-key-path

Partitionsnyckelsökväg för EligibleDataSampler

Example

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

-d, --sampling-days

Filtrera dokument efter rekency (dagar)

Standardvärdena är lägesberoende:

  • : ingen tidsgräns (standard )
  • :
  • :

Example

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

--sampling-group-count

Antal tidsgrupper för TimePartitionedSampler

Example

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

-c, --config

Konfigurationsfilsökväg. Om det utelämnas:

  1. om env var har angetts
  2. Annars

Example

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

--help

Visa hjälpskärmen.

Example

  • Bash
  • Kommandotolk
dab export --help

--version

Visa versionsinformation.

Example

  • Bash
  • Kommandotolk
dab export --version

Returkoder

Kod Meaning
0 Exporten lyckades
-1 Exporten misslyckades

Examples

Exportera befintligt schema

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

Generera schema (TopNExtractor)

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

Partitionsmedveten sampling

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

Tidsbaserad sampling

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

Filnamn för anpassad utdata

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

Genererad filanvändning

Ange till den exporterade schemafilsökvägen. Mer information finns i Konfiguration av datakälla.

Tips/Råd

Checka in det genererade schemat när det är stabilt. Kör igen om datamodellen ändras.

Felsökning

Symtom Orsak Reparera
Tomt schema Inga eller otillräckliga data Lägga till representativa data
Anslutningsfel Dåligt reťazec pripojenia Åtgärda autentiseringsuppgifter eller nätverk
Saknade fält Inte i exempeldokument Öka antal eller ändra läge
Få partitionsresultat Fel partitionsnyckel Ange rätt nyckelsökväg
Sampling av långsam tid Stor datamängd Minska grupper eller dagar

Metodtips

  • Börja med TopNExtractor
  • Använda versionskontroll för att ändra diff-schema
  • För kritiska samlingar kör du flera pass med olika parametrar