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.