export parancs

GraphQL-sémafájl exportálása vagy létrehozása, majd lemezre mentése. Két mód támogatott:

  • Meglévő séma lekérése ideiglenes DAB-futtatókörnyezeti példányból
  • Séma létrehozása a Cosmos DB-ből NoSQL adatokhoz mintavételezéssel

Szemantika

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

Fontos

Érvényes DAB-konfigurációt igényel. Az adatbázis típusa beolvasva a konfigurációs fájlból. A jelölő nem --database-type fogadható el.

Gyors áttekintés

Lehetőség Kötelező Alapértelmezett Alkalmazza
--graphql Nem* false Sémaexportáláshoz be kell állítani
-o, --output <dir> Igen Kimeneti séma könyvtára
-g, --graphql-schema-file <name> Nem schema.gql A kimeneti dirbe helyezett fájlnév
--generate Nem false Séma létrehozása Cosmos DB-adatokból
-m, --sampling-mode <mode> Nem TopNExtractor Az alábbiak egyike: TopNExtractor, , EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> Nem Módfüggő Rekordok száma módonként
--sampling-partition-key-path <path> Nem Csak EligibleDataSampler
-d, --sampling-days <int> Nem Módfüggő Korlátozás az N napnál újabb rekordokra
--sampling-group-count <int> Nem 10 (TimePartitionedSampler) Csak TimePartitionedSampler
-c, --config <file> Nem Env-specifikus vagy dab-config.json Konfigurációs fájl elérési útja

* --graphql nincs szükség elemzésre, de az exportálás meghiúsul, hacsak nem adja meg.

Magatartás

Üzemmód Description
Meglévő séma exportálása Ideiglenes futtatókörnyezet indítása, GraphQL-séma bemutatása és fájl írása
Séma létrehozása Minták Azure Cosmos DB NoSQL dokumentumokhoz és következtetési sémákhoz

Exportálási módban (anélkül --generate), hogy a DAB először próbálkozik https://localhost:5001 , és visszaesik a következőre http://localhost:5000: .

Az exportálási mód legfeljebb ötször próbálkozik újra a sémalekérésekkel. A létrehozási mód egyetlen kísérletet használ.

Az üres séma a következő hibaüzenetet eredményezi: "A létrehozott GraphQL-séma üres. Győződjön meg arról, hogy az adatok elérhetők a séma létrehozásához."

Mintavételezési módok

TopNExtractor

  • N legutóbbi dokumentumok mintái
  • Választható időszűrő a --sampling-days

Kisebb, egységes adatkészletekhez használható

EligibleDataSampler

  • Partícióérzékeny mintavételezés
  • N-dokumentumok partíciónként
  • --sampling-partition-key-path szabadon választható

Különböző sémákkal rendelkező partíciókhoz használható

TimePartitionedSampler

  • Minimális/maximális _ts felosztás időcsoportokra
  • N-dokumentumok csoportonként
  • --sampling-group-count nem kötelező (alapértelmezett 10)

Akkor használható, ha a séma idővel fejlődik

Megjegyzés:

Több lekérdezés miatt erőforrás-igényesebb.

--graphql

Engedélyezi a sémaexportálást. Nélküle az exportálás hibát naplóz, és nem hoz létre sémafájlt.

Example

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

-o, --output

Sémafájl könyvtára. Ha hiányzik, létrejön.

Example

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

-g, --graphql-schema-file

Csak kimeneti fájlnév, alapértelmezés szerint a következő.schema.gql

Example

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

--generate

  • false (alapértelmezett): Futtatókörnyezet indítása, introspect séma
  • igaz: Séma létrehozása Azure Cosmos DB NoSQL adatokhoz

Fontos

--generate csak NoSQL konfigurációs Azure Cosmos DB támogatja.

Example

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

-m, --sampling-mode

Beállítások: TopNExtractor, EligibleDataSamplerAlapértelmezett TimePartitionedSampler : TopNExtractor

Example

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

-n, --sampling-count

  • TopNExtractor: összes dokumentum
  • EligibleDataSampler: partíciónként
  • TimePartitionedSampler: időcsoportonként

Az alapértelmezett értékek módfüggőek:

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

Example

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

--sampling-partition-key-path

A EligibleDataSampler partíciókulcs-elérési útja

Example

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

-d, --sampling-days

Dokumentumok szűrése korrektség szerint (nap)

Az alapértelmezett értékek módfüggőek:

  • TopNExtractor: nincs időkorlát (alapértelmezett 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

Example

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

--sampling-group-count

TimePartitionedSampler időcsoportjainak száma

Example

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

-c, --config

Konfigurációs fájl elérési útja. Ha nincs megadva:

  1. dab-config.<DAB_ENVIRONMENT>.json ha az env var be van állítva
  2. Egyébként dab-config.json

Example

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

--help

A súgóképernyő megjelenítése.

Example

dab export --help

--version

Verzióinformációk megjelenítése.

Example

dab export --version

Visszatérési kódok

Kód Meaning
0 Sikeres exportálás
-1 Az exportálás sikertelen

Példák

Meglévő séma exportálása

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

Séma létrehozása (TopNExtractor)

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

Partícióérzékeny mintavételezés

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

Időalapú mintavételezés

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

Egyéni kimeneti fájlnév

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

Generált fájlhasználat

Állítsa be data-source.options.schema az exportált sémafájl elérési útját. További információ: Adatforrás konfigurációja.

Jótanács

Véglegesítse a létrehozott sémát, ha stabil. Futtassa újra az adatmodell változásait.

Hibaelhárítás

Tünet Oka Javítás
Üres séma Nincs vagy nincs elegendő adat Reprezentatív adatok hozzáadása
Csatlakozási hiba Rossz connection string Hitelesítő adatok vagy hálózat javítása
Hiányzó mezők Nincs mintavételezett dokumentumokban A darabszám növelése vagy a mód módosítása
Kevés partícióeredmény Helytelen partíciókulcs Adja meg a megfelelő kulcs elérési útját
Lassú mintavételezés Nagyméretű adatkészlet Csoportok vagy napok csökkentése

Ajánlott eljárások

  • Kezdés a TopNExtractor használatával
  • Sémamódosítások szabályozása verziókövetéssel
  • Kritikus gyűjtemények esetén futtasson több bérletet különböző paraméterekkel