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
  • Örnekleme 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 Hayır* 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ı Moda bağımlı N günden daha yeni kayıtlara kısıtlama
--sampling-group-count <int> Hayı 10 (TimePartitionedSampler) Yalnızca TimePartitionedSampler
-c, --config <file> Hayı Env'ye özgü veya dab-config.json Yapılandırma dosyasının yolu

* --graphql ayrıştırıcı gerekli değildir, ancak siz sağlamadığınız sürece dışarı aktarma işlemi başarısız olur.

Davranış

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

Dışarı aktarma modunda (olmadan --generate), DAB ilk olarak dener https://localhost:5001 ve öğesine http://localhost:5000geri döner.

Dışarı aktarma modu şema alma işlemini en fazla beş kez yeniden denenir. Oluşturma modu tek bir deneme kullanır.

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

Çeşitli şemalara sahip bölümler için kullanın

TimePartitionedSampler

  • Min/max'i _ts zaman gruplarına böler
  • Grup başına N belge
  • --sampling-group-count isteğe bağlı (varsayılan 10)

Ş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. Bu olmadan dışarı aktarma işlemi bir hata kaydeder ve şema dosyası oluşturmaz.

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: NoSQL verileri için Azure Cosmos DB şema oluşturma

Önemli

--generate yalnızca NoSQL yapılandırması için Azure Cosmos DB ile desteklenir.

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

Varsayılanlar moda bağımlıdır:

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

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

Varsayılanlar moda bağımlıdır:

  • TopNExtractor: zaman sınırı yok (varsayılan 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

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

Oluşturulan dosya kullanımı

Dışarı aktarılan şema dosyası yoluna ayarlayın data-source.options.schema . Daha fazla bilgi için bkz. Veri kaynağı 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ı connection string 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