変更ストリームが有効になっているテーブルを作成して変更をキャプチャする
変更ストリームを有効にして Bigtable テーブルを設定し、変更ストリーム パイプラインを実行して、テーブルに変更を加えてから、ストリーミングされた変更を確認する方法について説明します。
始める前に
- 
    
    
      
        In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
  
    In the Google Cloud console, activate Cloud Shell. 変更ストリームを有効にしてテーブルを作成する- Google Cloud コンソールで、Bigtable の [インスタンス] ページに移動します。 
- このクイックスタートで使用しているインスタンスの ID をクリックします。 - 使用可能なインスタンスがない場合は、近くのリージョンにデフォルト構成でインスタンスを作成します。 
- 左側のナビゲーション パネルで [テーブル] をクリックします。 
- [テーブルの作成] をクリックします。 
- テーブルに - change-streams-quickstartという名前を付けます。
- cfという名前の列ファミリーを追加します。
- [変更ストリームを有効にする] を選択します。 
- [作成] をクリックします。 
 データ パイプラインを初期化して変更ストリームを取得する- Cloud Shell で、次のコマンドを実行してコードをダウンロードし、実行します。 - git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/bigtable/beam/change-streams mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \ "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \ --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \ --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"- 次のように置き換えます。 - PROJECT_ID: 使用しているプロジェクトの ID
- BIGTABLE_INSTANCE_ID: 新しいテーブルを含むインスタンスの ID
- BIGTABLE_REGION: Bigtable インスタンスが存在するリージョン(us-east5など)
 
- Google Cloud コンソールで、[Dataflow] ページに移動します。 
- changestreamquickstart で始まる名前のジョブをクリックします。 
- 画面下部の [表示] をクリックして、ログパネルを開きます。 
- [ワーカーログ] をクリックして、変更ストリームの出力をモニタリングします。 
- Cloud Shell で、Bigtable にデータを書き込んで変更ストリーム プロセスを確認します。 - cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ import change-streams-quickstart quickstart-data.csv column-family=cf
- Google Cloud コンソールで、[重大度] が少なくとも - Infoに設定されていることを確認します。
- ワーカーログ出力ログには次のものが含まれます。 - Change captured: user123#2023,USER,SetCell,cf,col1,abc Change captured: user546#2023,USER,SetCell,cf,col1,def Change captured: user789#2023,USER,SetCell,cf,col1,ghi
 クリーンアップこのページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。 - テーブルで変更ストリームを無効にします。 - gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-period
- テーブル - change-streams-quickstartを削除します。- cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
- 変更ストリーム パイプラインを停止します。 - Google Cloud コンソールで、Dataflow の [ジョブ] ページに移動します。 
- ジョブリストからストリーミング ジョブを選択します。 
- ナビゲーションで、[停止] をクリックします。 
- [ジョブの停止] ダイアログでパイプラインをキャンセルし、[ジョブの停止] をクリックします。 
 
- 省略可: このクイックスタートで新しいインスタンスを作成した場合は、インスタンスを削除します。 - cbt deleteinstance BIGTABLE_INSTANCE_ID
 次のステップ