Template Aliran Data Perubahan Spanner ke Database Sumber

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

Parameter template

Parameter Deskripsi
changeStreamName Nama aliran data perubahan Spanner yang dibaca 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 sharding sumber.
startTimestamp Opsional: Stempel waktu awal untuk membaca berubah. Nilai defaultnya adalah kosong.
endTimestamp Opsional: Stempel waktu akhir untuk perubahan bacaan. Jika tidak ada stempel waktu yang diberikan, akan dibaca tanpa batas waktu. Nilai defaultnya 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 filtrasi. Menentukan cara menghapus data tertentu berdasarkan kriteria. Mode yang didukung adalah: none (tidak memfilter apa pun), forward_migration (memfilter rekaman yang ditulis menggunakan pipeline migrasi penerusan). 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. Nilai defaultnya adalah kosong.
shardingCustomClassName Opsional: Nama class yang sepenuhnya memenuhi syarat yang memiliki implementasi ID shard kustom. Jika shardingCustomJarPath ditentukan, parameter ini wajib diisi. Nilai defaultnya adalah kosong.
shardingCustomParameters Opsional: String yang berisi parameter kustom apa pun yang akan diteruskan ke class sharding kustom. Nilai defaultnya adalah kosong.
sourceDbTimezoneOffset Opsional: Perbedaan zona waktu dari UTC untuk database sumber. Contoh nilai: +10:00. Default: +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 terbalik ditulis ke direktori ini. Nama direktori default adalah skip.
maxShardConnections Opsional: Jumlah maksimum koneksi yang dapat diterima oleh shard tertentu. Default: 10000.
deadLetterQueueDirectory Opsional: Jalur yang digunakan saat menyimpan output antrean error. Jalur default adalah direktori di bawah lokasi sementara tugas Dataflow.
dlqMaxRetryCount Opsional: Jumlah maksimum percobaan ulang error sementara yang dapat dilakukan melalui antrean pesan yang tidak terkirim. Default-nya adalah 500.
runMode Opsional: Jenis mode operasi. Nilai yang didukung: regular, retryDLQ. Default: regular. Tentukan retryDLQ hanya untuk mencoba ulang catatan antrean surat yang gagal parah.
dlqRetryMinutes Opsional: Jumlah menit antara percobaan ulang antrean pesan yang tidak terkirim. Setelan defaultnya adalah 10.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Create job from template.
  2. Buka Membuat 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 default-nya adalah us-central1.

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

  5. Dari menu drop-down Template Dataflow, 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 Anda, 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 aliran perubahan
  • METADATA_DATABASE: Database Cloud Spanner untuk menyimpan metadata saat membaca dari aliran perubahan
  • SOURCE_SHARDS_FILE_PATH: Jalur ke file GCS yang berisi detail sharding Sumber

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. 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 Google Cloud project 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 aliran perubahan
  • METADATA_DATABASE: Database Cloud Spanner untuk menyimpan metadata saat membaca dari aliran perubahan
  • SOURCE_SHARDS_FILE_PATH: Jalur ke file GCS yang berisi detail sharding Sumber