Sdílet prostřednictvím


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 z dat Cosmos DB for NoSQL 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 Ano 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 Omezit na záznamy novější než N dny
--sampling-group-count <int> Ne Pouze pro TimePartitionedSampler
-c, --config <file> Ne Env-specific or dab-config.json Cesta ke konfiguračnímu souboru

Chování

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

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 vygenerová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í v případech, kdy mají oddíly různá schémata

TimePartitionedSampler

  • Rozdělí minimální nebo maximální počet _ts do časových skupin.
  • N dokumentů na skupinu
  • --sampling-group-count požadovaný

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.

Možnosti

--graphql

Povolí export schématu. Bez toho se nic nestane.

-o, --output

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

-g, --graphql-schema-file

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

--generate

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

-m, --sampling-mode

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

-n, --sampling-count

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

--sampling-partition-key-path

Cesta klíče oddílu pro EligibleDataSampler

-d, --sampling-days

Filtrování dokumentů podle recence (dny)

--sampling-group-count

Počet časových skupin pro TimePartitionedSampler

-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

Návratové kódy

Code Meaning
0 Export byl úspěšný.
Nenulový 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.graphql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Vygenerované využití souborů

Konfigurace aktualizace:

{
  "data-source": {
    "database-type": "cosmosdb_nosql"
  },
  "runtime": {
    "graphql": {
      "enabled": true,
      "schema-file": "schema.gql"
    }
  }
}

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ý připojovací řetězec 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.