Udostępnij przez


export polecenie

Wyeksportuj lub wygeneruj plik schematu GraphQL i zapisz go na dysku. Obsługiwane są dwa tryby:

  • Pobieranie istniejącego schematu z tymczasowego wystąpienia środowiska uruchomieniowego daB
  • Generowanie schematu z usługi Cosmos DB dla danych NoSQL przy użyciu próbkowania

Składnia

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

Ważne

Wymaga prawidłowej konfiguracji języka DAB. Typ bazy danych jest odczytywany z pliku konfiguracji. Nie --database-type zaakceptowano flagi.

Szybki rzut oka

Option Required Default Dotyczy
--graphql Tak false Należy ustawić dla eksportu schematu
-o, --output <dir> Tak Katalog schematu wyjściowego
-g, --graphql-schema-file <name> Nie. schema.gql Nazwa pliku umieszczona wewnątrz dir danych wyjściowych
--generate Nie. false Generowanie schematu na podstawie danych usługi Cosmos DB
-m, --sampling-mode <mode> Nie. TopNExtractor Jeden z: TopNExtractor, , EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> Nie. Zależne od trybu Liczba rekordów na tryb
--sampling-partition-key-path <path> Nie. Tylko dla EligibleDataSampler
-d, --sampling-days <int> Nie. Ogranicz do rekordów nowszych niż N dni
--sampling-group-count <int> Nie. Tylko dla TimePartitionedSampler
-c, --config <file> Nie. Env-specific lub dab-config.json Ścieżka do pliku konfiguracji
--help Nie. Wyświetlanie ekranu pomocy
--version Nie. Wyświetlanie informacji o wersji

Zachowanie

Mode Description
Eksportowanie istniejącego schematu Uruchamia tymczasowe środowisko uruchomieniowe, introspects Schema GraphQL, zapisuje plik
Generowanie schematu Przykłady dokumentów i schematów wnioskowania usługi Cosmos DB

Pusty schemat powoduje błąd: "Wygenerowany schemat GraphQL jest pusty. Upewnij się, że dane są dostępne do wygenerowania schematu.

Tryby próbkowania

TopNExtractor

  • Przykłady N ostatnich dokumentów
  • Opcjonalny filtr czasu z --sampling-days

Używanie w przypadku mniejszych, jednolitych zestawów danych

EligibleDataSampler

  • Próbkowanie z obsługą partycji
  • N dokumentów na partycję
  • --sampling-partition-key-path opcjonalnie

Użyj, gdy partycje mają różny schemat

TimePartitionedSampler

  • Dzieli minimalną/maksymalną _ts liczbę grup czasowych
  • N dokumentów na grupę
  • --sampling-group-count Wymagane

Użyj, gdy schemat ewoluuje wraz z upływem czasu

Uwaga / Notatka

Większe wykorzystanie zasobów z powodu wielu zapytań.

--graphql

Włącza eksportowanie schematów. Bez tego nic się nie dzieje.

Example

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

-o, --output

Katalog pliku schematu. Utworzono, jeśli brakuje.

Example

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

-g, --graphql-schema-file

Tylko nazwa pliku wyjściowego, wartość domyślna to schema.gql.

Example

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

--generate

  • false (wartość domyślna): Uruchamianie środowiska uruchomieniowego, schemat introspect
  • true: Generowanie schematu na podstawie danych usługi Cosmos DB

Example

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

-m, --sampling-mode

Opcje: TopNExtractor, , EligibleDataSamplerTimePartitionedSamplerdomyślne:TopNExtractor

Example

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

-n, --sampling-count

  • TopNExtractor: łączna liczba dokumentów
  • EligibleDataSampler: na partycję
  • TimePartitionedSampler: na grupę czasu

Example

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

--sampling-partition-key-path

Ścieżka klucza partycji dla elementu EligibleDataSampler

Example

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

-d, --sampling-days

Filtrowanie dokumentów według recency (dni)

Example

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

--sampling-group-count

Liczba grup czasowych dla elementu TimePartitionedSampler

Example

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

-c, --config

Ścieżka pliku konfiguracji. Jeśli pominięto:

  1. dab-config.<DAB_ENVIRONMENT>.json jeśli wariancja env jest ustawiona
  2. Inaczej dab-config.json

Example

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

--help

Wyświetl ekran pomocy.

Example

dab export --help

--version

Wyświetl informacje o wersji.

Example

dab export --version

Kody powrotne

Code Meaning
0 Eksportowanie powiodło się
Bez zera Eksportowanie nie powiodło się

Przykłady

Eksportowanie istniejącego schematu

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

Generowanie schematu (TopNExtractor)

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

Próbkowanie z obsługą partycji

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

Próbkowanie oparte na czasie

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

Niestandardowa nazwa pliku wyjściowego

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

Wygenerowane użycie pliku

Ustaw runtime.graphql.schema na wyeksportowaną ścieżkę pliku schematu. Aby uzyskać więcej informacji, zobacz Konfiguracja środowiska uruchomieniowego.

Wskazówka

Zatwierdź wygenerowany schemat raz stabilny. Uruchom ponownie, jeśli zmieni się model danych.

Rozwiązywanie problemów

Objaw Przyczyna Napraw.
Pusty schemat Brak lub niewystarczające dane Dodawanie reprezentatywnych danych
Błąd łączności Nieprawidłowe parametry połączenia Naprawianie poświadczeń lub sieci
Brakujące pola Nie w przykładowych dokumentach Zwiększ liczbę lub tryb zmiany
Kilka wyników partycji Nieprawidłowy klucz partycji Podaj poprawną ścieżkę klucza
Próbkowanie wolnych czasów Duży zestaw danych Zmniejsz liczbę grup lub dni

Najlepsze rozwiązania

  • Rozpoczynanie pracy z funkcją TopNExtractor
  • Różnicowanie zmian schematu za pomocą kontroli wersji
  • W przypadku kolekcji krytycznych uruchom wiele przebiegów z różnymi parametrami