Udostępnij za pośrednictwem


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 Nie* 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. Zależne od trybu Ogranicz do rekordów nowszych niż N dni
--sampling-group-count <int> Nie. 10 (TimePartitionedSampler) Tylko dla TimePartitionedSampler
-c, --config <file> Nie. Env-specific lub dab-config.json Ścieżka do pliku konfiguracji

* --graphql nie jest wymagany analizator, ale eksportowanie nie powiedzie się, chyba że zostanie podane.

Zachowanie

Mode Description
Eksportowanie istniejącego schematu Uruchamia tymczasowe środowisko uruchomieniowe, introspects Schemat GraphQL i zapisuje plik
Generowanie schematu Przykłady Azure Cosmos DB dla dokumentów NoSQL i schematu wnioskowania

W trybie eksportu (bez --generate) funkcja DAB najpierw podejmuje próbę https://localhost:5001 i wraca do http://localhost:5000.

Tryb eksportu ponawia próby pobierania schematu do pięciu razy. Tryb generowania używa pojedynczej próby.

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 fakultatywny

Używanie dla partycji z różnymi schematami

TimePartitionedSampler

  • Dzieli minimalną/maksymalną _ts liczbę grup czasowych
  • N dokumentów na grupę
  • --sampling-group-count opcjonalne (domyślne 10)

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 niego eksportowanie rejestruje błąd i nie generuje pliku schematu.

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 Azure Cosmos DB dla danych NoSQL

Ważne

--generate jest obsługiwana tylko w przypadku Azure Cosmos DB dla konfiguracji NoSQL.

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

Wartości domyślne są zależne od trybu:

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

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)

Wartości domyślne są zależne od trybu:

  • TopNExtractor: brak limitu czasu (ustawienie domyślne 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

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ę
-1 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.gql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Wygenerowane użycie pliku

Ustaw data-source.options.schema na wyeksportowaną ścieżkę pliku schematu. Aby uzyskać więcej informacji, zobacz Konfiguracja źródła danych.

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 Zła connection string 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