Aracılığıyla paylaş


export komut

GraphQL şema dosyasını dışarı aktarın veya oluşturun ve diske kaydedin. İki mod desteklenir:

  • Geçici bir DAB çalışma zamanı örneğinden mevcut şemayı getirme
  • Örneklemeyi kullanarak NoSQL verileri için Cosmos DB'den şema oluşturma

Sözdizimi

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

Önemli

Geçerli bir DAB yapılandırması gerektirir. Veritabanı türü yapılandırma dosyasından okunur. Bayrak --database-type kabul edilir.

Hızlı bakış

Seçenek Gerekli Varsayılan Geçerli -dir
--graphql Yes false Şema dışarı aktarma için ayarlanmalıdır
-o, --output <dir> Yes Çıktı şeması dizini
-g, --graphql-schema-file <name> Hayı schema.gql Çıktı dir içine yerleştirilen dosya adı
--generate Hayı false Cosmos DB verilerinden şema oluşturma
-m, --sampling-mode <mode> Hayı TopNExtractor Bunlardan biri: TopNExtractor, EligibleDataSampler, TimePartitionedSampler
-n, --sampling-count <int> Hayı Moda bağımlı Mod başına kayıt sayısı
--sampling-partition-key-path <path> Hayı Yalnızca EligibleDataSampler
-d, --sampling-days <int> Hayı N günden daha yeni kayıtlara kısıtlama
--sampling-group-count <int> Hayı Yalnızca TimePartitionedSampler
-c, --config <file> Hayı Env'ye özgü veya dab-config.json Yapılandırma dosyasının yolu
--help Hayı Yardım ekranını görüntüleme
--version Hayı Sürüm bilgilerini görüntüleme

Davranış

Mode Description
Mevcut şemayı dışarı aktarma Geçici bir çalışma zamanı başlatır, GraphQL şemasını gözden geçirin, dosyayı yazar
Şema oluşturma Örnekler Cosmos DB belgeleri ve çıkarım şeması

Boş şema şu hatayla sonuçlanır: "Oluşturulan GraphQL şeması boş. Şemayı oluşturmak için verilerin kullanılabilir olduğundan emin olun."

Örnekleme modları

TopNExtractor

  • Örnekler N son belgeler
  • ile isteğe bağlı zaman filtresi --sampling-days

Daha küçük, tekdüzen veri kümeleri için kullanın

EligibleDataSampler

  • Bölüme duyarlı örnekleme
  • Bölüm başına N belge
  • --sampling-partition-key-path opsiyonel

Bölümler çeşitli şemalara sahip olduğunda kullanın

TimePartitionedSampler

  • Min/max'i _ts zaman gruplarına böler
  • Grup başına N belge
  • --sampling-group-count Gerekli

Şema zaman içinde geliştikçe kullanma

Uyarı

Birden çok sorgu nedeniyle daha yoğun kaynak kullanır.

--graphql

Şema dışarı aktarmayı etkinleştirir. O olmadan hiçbir şey olmaz.

Example

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

-o, --output

Şema dosyası için dizin. Eksikse oluşturulur.

Example

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

-g, --graphql-schema-file

Yalnızca çıktı dosya adı, varsayılan olarak olur schema.gql.

Example

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

--generate

  • false (varsayılan): Çalışma zamanını başlatma, iç gözlem şeması
  • true: Cosmos DB verilerinden şema oluşturma

Example

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

-m, --sampling-mode

Seçenekler: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Varsayılan: TopNExtractor

Example

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

-n, --sampling-count

  • TopNExtractor: toplam belge sayısı
  • EligibleDataSampler: bölüm başına
  • TimePartitionedSampler: zaman grubu başına

Example

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

--sampling-partition-key-path

EligibleDataSampler için bölüm anahtarı yolu

Example

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

-d, --sampling-days

Belgeleri recency (gün) ölçütüne göre filtreleme

Example

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

--sampling-group-count

TimePartitionedSampler için zaman gruplarının sayısı

Example

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

-c, --config

Yapılandırma dosyası yolu. Atlanırsa:

  1. dab-config.<DAB_ENVIRONMENT>.json env var ayarlandıysa
  2. Yoksa dab-config.json

Example

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

--help

Yardım ekranını görüntüleyin.

Example

dab export --help

--version

Sürüm bilgilerini görüntüleme.

Example

dab export --version

İade kodları

Kod Meaning
0 Dışarı aktarma başarılı oldu
Sıfır olmayan Dışarı aktarma başarısız oldu

Örnekler

Mevcut şemayı dışarı aktarma

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

Şema oluşturma (TopNExtractor)

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

Bölüme duyarlı örnekleme

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

Zamana dayalı örnekleme

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

Özel çıkış dosya adı

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

Oluşturulan dosya kullanımı

Dışarı aktarılan şema dosyası yoluna ayarlayın runtime.graphql.schema . Daha fazla bilgi için bkz . Çalışma zamanı yapılandırması.

İpucu

Oluşturulan şemayı kararlı bir şekilde işleyin. Veri modeli değişirse yeniden çalıştırın.

Sorun giderme

Semptom Nedeni Düzelt
Boş şema Veri yok veya yetersiz Temsili veriler ekleme
Bağlantı hatası Hatalı bağlantı dizesi Kimlik bilgilerini veya ağı düzeltme
Eksik alanlar Örneklenen belgelerde yok Sayıyı veya değişiklik modunu artırma
Birkaç bölüm sonucu Yanlış bölüm anahtarı Doğru anahtar yolunu belirtin
Yavaş örnekleme Büyük veri kümesi Grupları veya günleri azaltma

En iyi yöntemler

  • TopNExtractor ile başlayın
  • Şema değişikliklerini fark etmek için sürüm denetimini kullanma
  • Kritik koleksiyonlar için farklı parametrelerle birden çok geçiş çalıştırın