Template Aliran Data Perubahan Spanner ke Database Sumber

Pipeline streaming. Membaca data dari Aliran Perubahan Spanner dan menulisnya ke sumber.

Parameter template

Parameter Deskripsi
changeStreamName Nama aliran data perubahan Spanner yang dibaca oleh pipeline.
instanceId Nama instance Spanner tempat aliran data perubahan berada.
databaseId Nama database Spanner yang dipantau oleh aliran perubahan.
spannerProjectId Nama project Spanner.
metadataInstance Instance untuk menyimpan metadata yang digunakan oleh konektor untuk mengontrol penggunaan data API aliran perubahan.
metadataDatabase Database untuk menyimpan metadata yang digunakan oleh konektor untuk mengontrol penggunaan data API aliran perubahan.
sourceShardsFilePath Jalur ke file Cloud Storage yang berisi informasi profil koneksi untuk shard sumber.
startTimestamp Opsional: Stempel waktu awal untuk perubahan pembacaan. Default-nya adalah kosong.
endTimestamp Opsional: Stempel waktu akhir untuk perubahan pembacaan. Jika tidak ada stempel waktu yang diberikan, membaca tanpa batas waktu. Default-nya adalah kosong.
shadowTablePrefix Opsional: Awalan yang digunakan untuk memberi nama tabel bayangan. Default: shadow_.
sessionFilePath Opsional: Jalur sesi di Cloud Storage yang berisi informasi pemetaan dari HarbourBridge.
filtrationMode Opsional: Mode pemfilteran. Menentukan cara menghapus data tertentu berdasarkan kriteria. Mode yang didukung adalah: none (tidak memfilter apa pun), forward_migration (memfilter data yang ditulis menggunakan pipeline migrasi maju). Setelan defaultnya adalah forward_migration.
shardingCustomJarPath Opsional: Lokasi file JAR kustom di Cloud Storage yang berisi logika penyesuaian untuk mengambil ID shard. Jika Anda menetapkan parameter ini, tetapkan parameter shardingCustomJarPath. Default-nya adalah kosong.
shardingCustomClassName Opsional: Nama class yang sepenuhnya memenuhi syarat yang memiliki implementasi ID shard kustom. Jika shardingCustomJarPath ditentukan, parameter ini wajib diisi. Default-nya adalah kosong.
shardingCustomParameters Opsional: String yang berisi parameter kustom apa pun yang akan diteruskan ke class sharding kustom. Default-nya adalah kosong.
sourceDbTimezoneOffset Opsional: Offset zona waktu dari UTC untuk database sumber. Contoh nilai: +10.00. Default-nya adalah: +00:00.
dlqGcsPubSubSubscription Opsional: Langganan Pub/Sub yang digunakan dalam kebijakan notifikasi Cloud Storage untuk direktori percobaan ulang DLQ saat berjalan dalam mode reguler. Nama harus dalam format projects/<project-id>/subscriptions/<subscription-name>. Jika ditetapkan, deadLetterQueueDirectory dan dlqRetryMinutes akan diabaikan.
skipDirectoryName Opsional: Data yang dilewati dari replikasi balik akan ditulis ke direktori ini. Nama direktori default adalah skip.
maxShardConnections Opsional: Jumlah maksimum koneksi yang dapat diterima shard tertentu. Default-nya adalah: 10000.
deadLetterQueueDirectory Opsional: Jalur yang digunakan saat menyimpan output antrean error. Jalur default adalah direktori di lokasi sementara tugas Dataflow.
dlqMaxRetryCount Opsional: Jumlah maksimum percobaan ulang error sementara melalui antrean surat tidak terkirim. Setelan defaultnya adalah 500.
runMode Opsional: Jenis mode operasi. Nilai yang didukung: regular, retryDLQ. Default: regular. Tentukan retryDLQ hanya untuk mencoba ulang data antrean pesan tidak terkirim yang berat.
dlqRetryMinutes Opsional: Jumlah menit di antara percobaan ulang antrean pesan tidak terkirim. Setelan defaultnya adalah 10.

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Nama tugas, masukkan nama tugas yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya adalah us-central1.

    Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the Spanner Change Streams to Source Database template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud CLI

Di shell atau terminal, jalankan template:

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Spanner_to_SourceDb \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       changeStreamName=CHANGE_STREAM_NAME,\
       instanceId=INSTANCE_ID,\
       databaseId=DATABASE_ID,\
       spannerProjectId=SPANNER_PROJECT_ID,\
       metadataInstance=METADATA_INSTANCE,\
       metadataDatabase=METADATA_DATABASE,\
       sourceShardsFilePath=SOURCE_SHARDS_FILE_PATH,\

Ganti kode berikut:

  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • CHANGE_STREAM_NAME: Nama aliran perubahan yang akan dibaca
  • INSTANCE_ID: ID Instance Cloud Spanner.
  • DATABASE_ID: ID Database Cloud Spanner.
  • SPANNER_PROJECT_ID: Project ID Cloud Spanner.
  • METADATA_INSTANCE: Instance Cloud Spanner untuk menyimpan metadata saat membaca dari changestream
  • METADATA_DATABASE: Database Cloud Spanner untuk menyimpan metadata saat membaca dari changestream
  • SOURCE_SHARDS_FILE_PATH: Jalur ke file GCS yang berisi detail Shard sumber

API

Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui informasi selengkapnya tentang API dan cakupan otorisasinya, lihat projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "changeStreamName": "CHANGE_STREAM_NAME",
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "spannerProjectId": "SPANNER_PROJECT_ID",
       "metadataInstance": "METADATA_INSTANCE",
       "metadataDatabase": "METADATA_DATABASE",
       "sourceShardsFilePath": "SOURCE_SHARDS_FILE_PATH",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/Spanner_to_SourceDb",
     "environment": { "maxWorkers": "10" }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • CHANGE_STREAM_NAME: Nama aliran perubahan yang akan dibaca
  • INSTANCE_ID: ID Instance Cloud Spanner.
  • DATABASE_ID: ID Database Cloud Spanner.
  • SPANNER_PROJECT_ID: Project ID Cloud Spanner.
  • METADATA_INSTANCE: Instance Cloud Spanner untuk menyimpan metadata saat membaca dari changestream
  • METADATA_DATABASE: Database Cloud Spanner untuk menyimpan metadata saat membaca dari changestream
  • SOURCE_SHARDS_FILE_PATH: Jalur ke file GCS yang berisi detail Shard sumber