Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekspor atau hasilkan file skema GraphQL dan simpan ke disk. Dua mode didukung:
- Mengambil skema yang ada dari instans runtime DAB sementara
- Hasilkan skema dari Cosmos DB untuk data NoSQL menggunakan pengambilan sampel
Syntax
dab export --graphql -o <output-directory> [options]
Penting
Memerlukan konfigurasi DAB yang valid. Jenis database dibaca dari file konfigurasi. Tidak ada --database-type bendera yang diterima.
Sekilas
| Option | Diperlukan | Bawaan | Berlaku |
|---|---|---|---|
--graphql |
Yes | false | Harus diatur untuk ekspor skema |
-o, --output <dir> |
Yes | – | Direktori untuk skema output |
-g, --graphql-schema-file <name> |
Tidak. | schema.gql |
Nama file ditempatkan di dalam dir output |
--generate |
Tidak. | false | Hasilkan skema dari data Cosmos DB |
-m, --sampling-mode <mode> |
Tidak. | TopNExtractor |
Salah satu dari: TopNExtractor, EligibleDataSampler, TimePartitionedSampler |
-n, --sampling-count <int> |
Tidak. | Bergantung pada mode | Jumlah rekaman per mode |
--sampling-partition-key-path <path> |
Tidak. | – | Hanya untuk EligibleDataSampler |
-d, --sampling-days <int> |
Tidak. | – | Membatasi rekaman yang lebih baru dari N hari |
--sampling-group-count <int> |
Tidak. | – | Hanya untuk TimePartitionedSampler |
-c, --config <file> |
Tidak. | Khusus env atau dab-config.json |
Jalur ke file konfigurasi |
--help |
Tidak. | – | Tampilkan layar bantuan |
--version |
Tidak. | – | Tampilkan informasi versi |
Perilaku
| Pengaturan | Description |
|---|---|
| Mengekspor skema yang ada | Memulai runtime sementara, introspiksi skema GraphQL, menulis file |
| Hasilkan skema | Sampel dokumen Cosmos DB dan skema infer |
Skema kosong mengakibatkan kesalahan: "Skema GraphQL yang dihasilkan kosong. Pastikan data tersedia untuk menghasilkan skema."
Mode pengambilan sampel
TopNExtractor
- Sampel N dokumen terbaru
- Filter waktu opsional dengan
--sampling-days
Gunakan untuk himpunan data yang lebih kecil dan seragam
EligibleDataSampler
- Pengambilan sampel sadar partisi
- Dokumen N per partisi
-
--sampling-partition-key-pathfakultatif
Gunakan saat partisi memiliki skema yang bervariasi
TimePartitionedSampler
- Membagi min/maks
_tske dalam grup waktu - Dokumen N per grup
-
--sampling-group-countDiperlukan
Gunakan saat skema berevolusi dari waktu ke waktu
Nota
Lebih banyak sumber daya intensif karena beberapa kueri.
--graphql
Mengaktifkan ekspor skema. Tanpa itu, tidak ada yang terjadi.
Example
dab export \
--graphql \
-o ./schema-out
-o, --output
Direktori untuk file skema. Dibuat jika hilang.
Example
dab export \
--graphql \
-o ./schema-out
-g, --graphql-schema-file
Nama file output saja, default ke schema.gql.
Example
dab export \
--graphql \
-o ./out \
-g custom-schema.gql
--generate
- false (default): Mulai runtime, skema introspek
- true: Hasilkan skema dari data Cosmos DB
Example
dab export \
--graphql \
-o ./schema-gen \
--generate
-m, --sampling-mode
Opsi: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Default: TopNExtractor
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor
-n, --sampling-count
- TopNExtractor: total dokumen
- EligibleDataSampler: per partisi
- TimePartitionedSampler: per grup waktu
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25
--sampling-partition-key-path
Jalur kunci partisi untuk EligibleDataSampler
Example
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId
-d, --sampling-days
Memfilter dokumen menurut resensi (hari)
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-days 14
--sampling-group-count
Jumlah grup waktu untuk TimePartitionedSampler
Example
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8
-c, --config
Jalur file konfigurasi. Jika dihilangkan:
-
dab-config.<DAB_ENVIRONMENT>.jsonjika env var diatur - Sebaliknya
dab-config.json
Example
dab export \
--graphql \
-o ./schema-out \
--config ./dab-config.json
--help
Tampilkan layar bantuan.
Example
dab export --help
--version
Tampilkan informasi versi.
Example
dab export --version
Mengembalikan kode
| Kode | Meaning |
|---|---|
| 0 | Ekspor berhasil |
| Bukan nol | Ekspor gagal |
Examples
Mengekspor skema yang ada
dab export \
--graphql \
-o ./schema-out
Hasilkan skema (TopNExtractor)
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25 \
--sampling-days 14
Pengambilan sampel sadar partisi
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId \
--sampling-count 10
Pengambilan sampel berbasis waktu
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8 \
--sampling-count 5 \
--sampling-days 60
Nama file output kustom
dab export \
--graphql \
-o ./out \
-g cosmos-schema.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Penggunaan file yang dihasilkan
Atur runtime.graphql.schema ke jalur file skema yang diekspor. Untuk informasi selengkapnya, lihat Konfigurasi runtime.
Petunjuk / Saran
Terapkan skema yang dihasilkan setelah stabil. Jalankan kembali jika model data berubah.
Troubleshooting
| Gejala | Penyebab | Perbaiki |
|---|---|---|
| Skema kosong | Tidak ada atau tidak cukup data | Menambahkan data perwakilan |
| Kesalahan konektivitas | String koneksi buruk | Memperbaiki kredensial atau jaringan |
| Bidang yang hilang | Tidak dalam dokumen sampel | Meningkatkan mode hitungan atau perubahan |
| Beberapa hasil partisi | Kunci partisi salah | Berikan jalur kunci yang benar |
| Pengambilan sampel waktu lambat | Himpunan data besar | Mengurangi grup atau hari |
Praktik terbaik
- Mulai dengan TopNExtractor
- Gunakan kontrol versi untuk membedakan perubahan skema
- Untuk koleksi penting, jalankan beberapa pass dengan parameter yang berbeda