Mengimpor dari database Mongo sumber
Halaman ini menjelaskan tahap pertama dari proses migrasi tempat Anda menggunakan aliran Datastream untuk merekam konten database sumber yang kompatibel dengan MongoDB dan mentransfernya ke bucket Cloud Storage.
Buat file konfigurasi YAML untuk stream
Selain flag command line biasa, pembuatan stream memerlukan dua file konfigurasi dalam format YAML:
File
mongo_source_config.yaml
mengonfigurasi pemilihan resource tertentu untuk migrasi, seperti nama database. Parameter konektivitas Mongo seperti nama host, nama pengguna, dan sandi adalah semua properti profil koneksi. Namun, database (dan kumpulan tertentu dalam database tersebut) adalah properti aliran.File
gcs_dst_config.yaml
mengonfigurasi penempatan data dalam Cloud Storage. Bucket Cloud Storage dan jalur root dalam bucket adalah properti profil koneksi. Namun, format data dan penempatan data dalam struktur bucket Cloud Storage adalah properti stream.
Contoh perintah berikut membuat file ini dan mengisinya dengan nilai dari variabel lingkungan yang telah Anda tetapkan sebelumnya. Sebagai alternatif, Anda dapat membuat file ini di editor teks mana pun dan mengganti nilai secara manual.
echo "$(cat <<EOF
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
EOF
)" > mongo_source_config.yaml
echo "$(cat <<EOF
path: "/${GCS_BUCKET_SUB_PATH}"
avroFileFormat: {}
EOF
)" > gcs_dst_config.yaml
Contoh sebelumnya mengonfigurasi seluruh konten $MONGODB_DATABASE_NAME untuk
migrasi. Anda juga dapat membatasi migrasi ke koleksi tertentu dalam database. Misalnya, untuk memigrasikan hanya koleksi users
dan
chats
, gunakan perintah berikut:
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
collections:
- collection: users
- collection: chats
Membuat aliran Datastream
Selanjutnya, buat aliran yang menghubungkan sumber dan tujuan:
gcloud datastream streams create "$DATASTREAM_NAME" \
--display-name="$DATASTREAM_NAME" \
--location="$LOCATION" \
--source="$SRC_CONNECTION_PROFILE_NAME" \
--destination="$DST_CONNECTION_PROFILE_NAME" \
--mongodb-source-config=./mongo_source_config.yaml \
--gcs-destination-config=./gcs_dst_config.yaml \
--backfill-all
Untuk mengetahui informasi selengkapnya tentang pemantauan pembuatan streaming Datastream, lihat Pemecahan masalah.
Aktifkan aliran Datastream
Terakhir, aktifkan aliran baru.
Saat aliran mulai menarik data dan melakukan streaming perubahan dari sumber Mongo, Anda dapat mengamati direktori dan file baru yang dibuat di bucket Cloud Storage, di jalur yang dikonfigurasi dalam profil koneksi dan aliran.
Untuk mengaktifkan aliran, jalankan perintah berikut:
gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state
Langkah berikutnya
Lanjutkan untuk Menulis data ke database tujuan.