Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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-pathopsiyonel
Bölümler çeşitli şemalara sahip olduğunda kullanın
TimePartitionedSampler
- Min/max'i
_tszaman gruplarına böler - Grup başına N belge
-
--sampling-group-countGerekli
Ş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:
-
dab-config.<DAB_ENVIRONMENT>.jsonenv var ayarlandıysa - 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