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 |
Tidak* | 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. | Bergantung pada mode | Membatasi rekaman yang lebih baru dari N hari |
--sampling-group-count <int> |
Tidak. |
10 (TimePartitionedSampler) |
Hanya untuk TimePartitionedSampler |
-c, --config <file> |
Tidak. | Khusus env atau dab-config.json |
Jalur ke file konfigurasi |
*
--graphql tidak diperlukan pengurai, tetapi ekspor gagal kecuali Anda menyediakannya.
Perilaku
| Pengaturan | Description |
|---|---|
| Mengekspor skema yang ada | Memulai runtime sementara, introspiksi skema GraphQL, dan menulis file |
| Hasilkan skema | Sampel Azure Cosmos DB untuk dokumen NoSQL dan skema infer |
Dalam mode ekspor (tanpa --generate), DAB pertama mencoba https://localhost:5001 dan kembali ke http://localhost:5000.
Mode ekspor mencoba kembali pengambilan skema hingga lima kali. Mode hasilkan menggunakan satu upaya.
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 untuk partisi dengan skema yang bervariasi
TimePartitionedSampler
- Membagi min/maks
_tske dalam grup waktu - Dokumen N per grup
-
--sampling-group-countopsional (default10)
Gunakan saat skema berevolusi dari waktu ke waktu
Nota
Lebih banyak sumber daya intensif karena beberapa kueri.
--graphql
Mengaktifkan ekspor skema. Tanpa itu, ekspor mencatat kesalahan dan tidak menghasilkan file skema.
Example
-o, --output
Direktori untuk file skema. Dibuat jika hilang.
Example
-g, --graphql-schema-file
Nama file output saja, default ke schema.gql.
Example
--generate
- false (default): Mulai runtime, skema introspek
- true: Menghasilkan skema dari Azure Cosmos DB untuk data NoSQL
Penting
--generate hanya didukung dengan Azure Cosmos DB untuk konfigurasi NoSQL.
Example
-m, --sampling-mode
Opsi: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Default: TopNExtractor
Example
-n, --sampling-count
- TopNExtractor: total dokumen
- EligibleDataSampler: per partisi
- TimePartitionedSampler: per grup waktu
Defaultnya bergantung pada mode:
-
TopNExtractor:10 -
EligibleDataSampler:5 -
TimePartitionedSampler:10
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)
Defaultnya bergantung pada mode:
-
TopNExtractor: tidak ada batas waktu (default0) -
EligibleDataSampler:30 -
TimePartitionedSampler:10
Example
--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
--help
Tampilkan layar bantuan.
Example
--version
Tampilkan informasi versi.
Example
Mengembalikan kode
| Kode | Meaning |
|---|---|
| 0 | Ekspor berhasil |
| -1 | Ekspor gagal |
Examples
Mengekspor skema yang ada
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.gql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Penggunaan file yang dihasilkan
Atur data-source.options.schema ke jalur file skema yang diekspor. Untuk informasi selengkapnya, lihat Konfigurasi sumber data.
Petunjuk / Saran
Terapkan skema yang dihasilkan setelah stabil. Jalankan ulang jika model data berubah.
Troubleshooting
| Gejala | Penyebab | Perbaiki |
|---|---|---|
| Skema kosong | Tidak ada atau tidak cukup data | Menambahkan data perwakilan |
| Kesalahan konektivitas | connection string 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