Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 |
Igen | 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 | – | Korlátozás az N napnál újabb rekordokra |
--sampling-group-count <int> |
Nem | – | Csak TimePartitionedSampler |
-c, --config <file> |
Nem | Env-specifikus vagy dab-config.json |
Konfigurációs fájl elérési útja |
Magatartás
| Üzemmód | Description |
|---|---|
| Meglévő séma exportálása | Ideiglenes futtatókörnyezet indítása, GraphQL-séma bemutatása, fájl írása |
| Séma létrehozása | Cosmos DB-dokumentumok és -következtetések sémájának mintái |
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-pathszabadon választható
Akkor használható, ha a partíciók különböző sémával rendelkeznek
TimePartitionedSampler
- Minimális/maximális
_tsfelosztás időcsoportokra - N-dokumentumok csoportonként
-
--sampling-group-countszükséges
Akkor használható, ha a séma idővel fejlődik
Megjegyzés:
Több lekérdezés miatt erőforrás-igényesebb.
Beállítások
--graphql
Engedélyezi a sémaexportálást. Nélküle semmi sem történik.
-o, --output
Sémafájl könyvtára. Ha hiányzik, létrejön.
-g, --graphql-schema-file
Csak kimeneti fájlnév, alapértelmezés szerint a következő.schema.gql
--generate
- false (alapértelmezett): Futtatókörnyezet indítása, introspect séma
- igaz: Séma létrehozása Cosmos DB-adatokból
-m, --sampling-mode
Beállítások: TopNExtractor, EligibleDataSamplerAlapértelmezett TimePartitionedSampler : TopNExtractor
-n, --sampling-count
- TopNExtractor: összes dokumentum
- EligibleDataSampler: partíciónként
- TimePartitionedSampler: időcsoportonként
--sampling-partition-key-path
A EligibleDataSampler partíciókulcs-elérési útja
-d, --sampling-days
Dokumentumok szűrése korrektség szerint (nap)
--sampling-group-count
TimePartitionedSampler időcsoportjainak száma
-c, --config
Konfigurációs fájl elérési útja. Ha nincs megadva:
-
dab-config.<DAB_ENVIRONMENT>.jsonha az env var be van állítva - Egyébként
dab-config.json
Visszatérési kódok
| Kód | Meaning |
|---|---|
| 0 | Sikeres exportálás |
| Nem nulla | 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.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Generált fájlhasználat
Frissítési konfiguráció:
{
"data-source": {
"database-type": "cosmosdb_nosql"
},
"runtime": {
"graphql": {
"enabled": true,
"schema-file": "schema.gql"
}
}
}
Jótanács
Véglegesítse a létrehozott sémát, ha stabil. Futtassa újra, ha az adatmodell megváltozik.
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 | Hibás kapcsolati sztring | 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