Dela via


export 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 --database-type 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: TopNExtractor, EligibleDataSampler, TimePartitionedSampler
-n, --sampling-count <int> Nej Lägesberoende Antal poster per läge
--sampling-partition-key-path <path> Nej Endast för EligibleDataSampler
-d, --sampling-days <int> Nej Lägesberoende Begränsa till poster som är nyare än N dagar
--sampling-group-count <int> Nej 10 (TimePartitionedSampler) Endast för TimePartitionedSampler
-c, --config <file> Nej Env-specifik eller dab-config.json Sökväg till konfigurationsfil

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

Beteende

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

I exportläge (utan --generate) försöker DAB först och återgår https://localhost:5001 till http://localhost:5000.

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

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

EligibleDataSampler

  • Partitionsmedveten sampling
  • N dokument per partition
  • --sampling-partition-key-path valfritt

Används för partitioner med olika scheman

TimePartitionedSampler

  • Delar upp min/max _ts i tidsgrupper
  • N dokument per grupp
  • --sampling-group-count valfritt (standard 10)

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

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

-o, --output

Katalog för schemafil. Skapas om det saknas.

Example

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

-g, --graphql-schema-file

Endast utdatafilnamn, standardvärdet schema.gqlär .

Example

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

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

-m, --sampling-mode

Alternativ: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Standard: TopNExtractor

Example

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:

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

Example

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

--sampling-partition-key-path

Partitionsnyckelsökväg för EligibleDataSampler

Example

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:

  • TopNExtractor: ingen tidsgräns (standard 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

Example

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

--sampling-group-count

Antal tidsgrupper för TimePartitionedSampler

Example

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

-c, --config

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

  1. dab-config.<DAB_ENVIRONMENT>.json om env var har angetts
  2. Annars dab-config.json

Example

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

--help

Visa hjälpskärmen.

Example

dab export --help

--version

Visa versionsinformation.

Example

dab export --version

Returkoder

Kod Meaning
0 Exporten lyckades
-1 Exporten misslyckades

Examples

Exportera befintligt schema

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

Generera schema (TopNExtractor)

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

Partitionsmedveten sampling

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

Tidsbaserad sampling

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

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

Genererad filanvändning

Ange data-source.options.schema 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 om datamodellen ändras.

Felsökning

Symtom Orsak Reparera
Tomt schema Inga eller otillräckliga data Lägga till representativa data
Anslutningsfel Dåligt connection string Å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