export příkaz

Exportujte nebo vygenerujte soubor schématu GraphQL a uložte ho na disk. Podporují se dva režimy:

  • Načtení existujícího schématu z dočasné instance modulu runtime DAB
  • Generování schématu ze služby Cosmos DB pro NoSQL data pomocí vzorkování

Syntaxe

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

Důležité

Vyžaduje platnou konfiguraci DAB. Typ databáze se načte z konfiguračního souboru. Není přijat žádný --database-type příznak.

Rychlý přehled

Možnost Povinné Výchozí Aplikuje
--graphql Ne* false Musí být nastavená pro export schématu.
-o, --output <dir> Ano Adresář pro výstupní schéma
-g, --graphql-schema-file <name> Ne schema.gql Název souboru umístěný uvnitř výstupního diru
--generate Ne false Generování schématu z dat Cosmos DB
-m, --sampling-mode <mode> Ne TopNExtractor Jedna z těchto možností: TopNExtractor, EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> Ne Závislý na režimu Počet záznamů na režim
--sampling-partition-key-path <path> Ne Pouze pro EligibleDataSampler
-d, --sampling-days <int> Ne Závislý na režimu Omezit na záznamy novější než N dny
--sampling-group-count <int> Ne 10 (TimePartitionedSampler) Pouze pro TimePartitionedSampler
-c, --config <file> Ne Env-specific or dab-config.json Cesta ke konfiguračnímu souboru

* --graphql není nutné analyzovat, ale export selže, pokud ho nezadáte.

Chování

Mode Description
Export existujícího schématu Spustí dočasný modul runtime, introspects schéma GraphQL a zapíše soubor.
Generování schématu Ukázky Azure Cosmos DB pro dokumenty NoSQL a odvození schématu

V režimu exportu (bez --generate), DAB první pokusy https://localhost:5001 a vrátí se zpět do http://localhost:5000.

Režim exportu opakuje načítání schématu až pětkrát. Režim generování používá jeden pokus.

Výsledkem prázdného schématu je chyba: Vygenerované schéma GraphQL je prázdné. Ujistěte se, že jsou k dispozici data pro generování schématu."

Režimy vzorkování

TopNExtractor

  • Ukázky N posledních dokumentů
  • Volitelný časový filtr s využitím --sampling-days

Slouží pro menší, jednotné datové sady.

EligibleDataSampler

  • Vzorkování s podporou oddílů
  • N dokumentů na oddíl
  • --sampling-partition-key-path volitelný

Použití pro oddíly s různými schématy

TimePartitionedSampler

  • Rozdělí minimální nebo maximální počet _ts do časových skupin.
  • N dokumentů na skupinu
  • --sampling-group-count volitelné (výchozí 10)

Použití při vývoji schématu v průběhu času

Poznámka:

Náročnější na prostředky kvůli více dotazům.

--graphql

Povolí export schématu. Bez něj export zaznamená chybu a nevygeneruje soubor schématu.

Example

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

-o, --output

Adresář pro soubor schématu. Vytvořeno, pokud chybí.

Example

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

-g, --graphql-schema-file

Pouze výstupní název souboru, výchozí hodnota schema.gqlje .

Example

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

--generate

  • false (výchozí): Spuštění modulu runtime, schéma introspekce
  • true: Generování schématu z Azure Cosmos DB pro data NoSQL

Důležité

--generate se podporuje pouze s Azure Cosmos DB pro konfiguraci NoSQL.

Example

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

-m, --sampling-mode

Možnosti: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Výchozí: TopNExtractor

Example

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

-n, --sampling-count

  • TopNExtractor: celkový počet dokumentů
  • EligibleDataSampler: na oddíl
  • TimePartitionedSampler: podle časové skupiny

Výchozí hodnoty jsou závislé na režimu:

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

Example

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

--sampling-partition-key-path

Cesta klíče oddílu pro EligibleDataSampler

Example

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

-d, --sampling-days

Filtrování dokumentů podle recence (dny)

Výchozí hodnoty jsou závislé na režimu:

  • TopNExtractor: bez časového limitu (výchozí 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

Example

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

--sampling-group-count

Počet časových skupin pro TimePartitionedSampler

Example

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

-c, --config

Cesta ke konfiguračnímu souboru. Pokud tento parametr vynecháte:

  1. dab-config.<DAB_ENVIRONMENT>.json if env var is set
  2. Jinak dab-config.json

Example

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

--help

Zobrazení obrazovky nápovědy

Example

dab export --help

--version

Zobrazí informace o verzi.

Example

dab export --version

Návratové kódy

Code Meaning
0 Export byl úspěšný.
-1 Export se nezdařil.

Examples

Export existujícího schématu

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

Generování schématu (TopNExtractor)

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

Vzorkování s podporou oddílů

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

Vzorkování na základě času

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

Vlastní výstupní název souboru

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

Vygenerované využití souborů

Nastavte data-source.options.schema na exportovanou cestu k souboru schématu. Další informace najdete v tématu Konfigurace zdroje dat.

Návod

Potvrďte vygenerované schéma jednou stabilní. Znovu spusťte, pokud se datový model změní.

Řešení problémů

Příznaky Příčina Opravit
Prázdné schéma Žádná nebo nedostatečná data Přidání reprezentativních dat
Chyba připojení Chybný connection string Oprava přihlašovacích údajů nebo sítě
Chybějící pole V ukázkových dokumentech ne Zvýšení počtu nebo režimu změn
Několik výsledků oddílů Nesprávný klíč oddílu Zadejte správnou cestu ke klíči.
Pomalé vzorkování Velká datová sada Omezení skupin nebo dnů

Osvědčené postupy

  • Začínáme s TopNExtractor
  • Použití správy verzí k rozdílu změn schématu
  • V případě kritických kolekcí spusťte více průchodů s různými parametry.