Mengonfigurasi database Spanner sumber

Halaman ini menjelaskan cara mengonfigurasi change data capture (CDC) untuk melakukan streaming data dari database Spanner ke tujuan yang didukung, seperti BigQuery atau Cloud Storage.

Sebelum memulai

Jika instance Spanner Anda ada di Google Cloud project selain project tempat Datastream berjalan, Anda harus memberikan peran IAM spanner.databaseReader kepada agen layanan Datastream, dan jika Anda berencana menggunakan Peningkatan Data, berikan peran spanner.databaseReaderWithDataBoost.

Jika Anda lebih memilih menggunakan peran database kontrol akses terperinci, lihat Membuat profil koneksi dan streaming Spanner untuk mengetahui izin individual yang diperlukan.

Membuat database Spanner

Untuk mulai mereplikasi data perubahan dari Spanner, Anda harus membuat instance Spanner dan database Spanner terlebih dahulu.

Membuat aliran perubahan

Spanner menggunakan aliran perubahan untuk melacak dan mengalirkan perubahan data seperti penyisipan, pembaruan, dan penghapusan. Untuk mengonfigurasi sumber Spanner Anda untuk replikasi di Datastream, Anda perlu membuat dan mengonfigurasi aliran data perubahan Spanner. Anda harus menentukan NEW_ROW jenis pengambilan nilai untuk aliran perubahan Anda.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan aliran perubahan.

Membuat profil koneksi dan streaming Spanner

Saat membuat profil koneksi Spanner baru, Anda harus menentukan database Spanner yang telah dibuat. Nama database harus memiliki format berikut:

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

Saat membuat streaming, Anda dapat secara opsional memberikan:

  • Objek yang akan disertakan dan dikecualikan.
  • Jumlah maksimum pembacaan serentak untuk kueri pengisian ulang atau aliran perubahan.
  • Apakah Datastream akan menggunakan Data Boost saat membuat kueri Spanner.
  • Peran database kontrol akses terperinci untuk digunakan Datastream saat membuat kueri Spanner. Peran database setidaknya harus memiliki izin berikut:

    • spanner.sessions.create
    • spanner.sessions.delete
    • spanner.sessions.get
    • spanner.databases.read
    • spanner.databases.select
    • spanner.databases.partitionQuery
    • spanner.databases.partitionRead
    • spanner.databases.beginReadOnlyTransaction
    • spanner.databases.getDdl
    • spanner.databases.useDataBoost (jika Anda memilih untuk menggunakan Spanner Data Boost)
    • spanner.databases.useRoleBasedAccess
  • Prioritas remote procedure call (RPC) Spanner yang akan digunakan Datastream.

Langkah berikutnya