ソース Spanner データベースを構成する

このページでは、Spanner データベースからサポートされている宛先(BigQuery や Cloud Storage など)にデータをストリーミングするように変更データ キャプチャ(CDC)を構成する方法について説明します。

始める前に

Spanner インスタンスが Datastream が実行されているプロジェクト以外のプロジェクトに存在する場合は、Datastream サービス エージェントに spanner.databaseReader IAM ロールを付与する必要があります。また、Data Boost を使用する場合は spanner.databaseReaderWithDataBoost ロールも付与する必要があります。 Google Cloud

きめ細かいアクセス制御のデータベース ロールを使用する場合は、Spanner 接続プロファイルとストリームを作成するで、必要な個々の権限を確認してください。

Spanner データベースの作成

Spanner からの変更データのレプリケーションを開始するには、まず Spanner インスタンスSpanner データベースを作成する必要があります。

変更ストリームを作成

Spanner は、変更ストリームを使用して、挿入、更新、削除などのデータ変更を追跡してストリーミングします。Datastream でレプリケーション用に Spanner ソースを構成するには、Spanner 変更ストリームを作成して構成する必要があります。変更ストリームの NEW_ROW 値キャプチャ タイプを指定する必要があります。

詳細については、変更ストリームの概要をご覧ください。

Spanner 接続プロファイルとストリームを作成する

新しい Spanner 接続プロファイルを作成するときは、作成した Spanner データベースを指定する必要があります。データベース名は次の形式にする必要があります。

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

ストリームを作成するときに、必要に応じて次のものを指定できます。

  • 含めるオブジェクトと除外するオブジェクト。
  • バックフィルまたは変更ストリーム クエリの同時読み取りの最大数。
  • Spanner のクエリ時に Datastream で Data Boost を使用するかどうか。
  • Spanner のクエリ時に Datastream が使用するきめ細かいアクセス制御のデータベース ロール。データベース ロールには、少なくとも次の権限が必要です。

    • 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(Spanner Data Boost を使用する場合)
    • spanner.databases.useRoleBasedAccess
  • Datastream が使用する Spanner リモート プロシージャ コール(RPC)の優先度。

次のステップ