変更ストリームを構成する

Bigtable テーブルに加えられたデータ変更を追跡するには、テーブルの変更ストリームを有効にしてから、Dataflow などのアプリケーションで読み取ることができます。このドキュメントを読む前に、変更ストリームの概要をご覧ください。特に、変更をストリーミングする場合に発生する費用に注意してください。

このページでは、変更ストリームの保持期間の有効化、無効化、変更を行う方法について説明します。

変更ストリームを有効にして新しいテーブルを作成する手順については、テーブルを作成するをご覧ください。

必要なロール

Bigtable 変更ストリームの有効化、無効化、または変更に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

  • 変更のストリーミング元となるテーブルを含む Bigtable インスタンスの Bigtable 管理者(roles/bigtable.admin

変更ストリームを有効にする

既存のテーブルで変更ストリームを有効にする手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 変更ストリームを有効にするテーブルを含むインスタンスをクリックします。

  3. 左ペインで [テーブル] をクリックします。

    [テーブル] ページに、インスタンス内のテーブルのリストが表示されます。

  4. 変更ストリームを有効にするテーブルの [編集] をクリックします。

  5. [変更ストリームを有効にする] をクリックします。

  6. [有効期限] フィールドに 1~7 の数値を入力して、データ ストリーム レコードを保持する日数を構成します。

  7. [保存] をクリックします。

gcloud

テーブルで変更ストリームを有効にするには、gcloud bigtable instances tables update コマンドを使用します。

  gcloud bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --change-stream-retention-period=CHANGE_STREAM_RETENTION_PERIOD

次のように置き換えます。

  • TABLE_ID: 変更をストリーミングするテーブルの ID
  • INSTANCE_ID: テーブルを含むインスタンス
  • PROJECT_ID: インスタンスを含むプロジェクト
  • CHANGE_STREAM_RETENTION_PERIOD: Bigtable がテーブルの変更ストリーム データを保持する期間。1~7 日の範囲で指定し、数字と単位の文字で表す必要があります。使用できる単位は日(d)、時間(h)、分(m)、秒(s)です。例: 5d

変更ストリームを無効にする

テーブルの変更ストリームはいつでも無効にできます。変更ストリームを無効にする前に作成されたデータ ストリーム レコードは、次の圧縮までストレージを消費しますが、そのストレージに対して課金されることはありません。無効にした変更ストリームを読み取ることはできません。これには、ストリームを無効にする前に記録された変更も含まれます。

コンソール

  1. Google Cloud コンソールで Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. テーブルを表示するインスタンスをクリックします。

  3. 左ペインで [テーブル] をクリックします。

    [テーブル] ページに、インスタンス内のテーブルのリストが表示されます。

  4. 変更ストリーム構成を無効にするテーブルの [編集] をクリックします。

  5. [変更ストリームを有効にする] チェックボックスをオフにします。

  6. [保存] をクリックします。

gcloud

テーブルの変更ストリームを無効にするには、gcloud bigtable instances tables update コマンドを使用します。

  gcloud bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --clear-change-stream-retention-period

次のように置き換えます。

  • TABLE_ID: 変更をストリーミングするテーブルの ID
  • INSTANCE_ID: テーブルを含むインスタンス
  • PROJECT_ID: インスタンスを含むプロジェクト

変更ストリームの保持期間を変更する

Bigtable が変更ストリーム レコードを保持する日数を変更できます。日数を減らすと、構成変更の前にストリーミングされたレコードは、次の圧縮まで引き続きストレージを消費します。構成の変更後は、新しく指定された期間の変更のみをストリーミングできます。

保持期間を延長しても、遡って適用されることはありません。構成を変更した時点を開始点として延長された日数の期間にわたり変更ストリームが保持されます。

コンソール

  1. Google Cloud コンソールで Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. テーブルを表示するインスタンスをクリックします。

  3. 左ペインで [テーブル] をクリックします。

    [テーブル] ページに、インスタンス内のテーブルのリストが表示されます。

  4. 変更ストリームの構成を変更するテーブルの [編集] をクリックします。

  5. [有効期限] フィールドに、データ ストリームのレコードを保持する日数を 1~7 の数値で入力します。

  6. [保存] をクリックします。

gcloud

テーブルの変更ストリームの保持期間を変更するには、gcloud bigtable instances tables update コマンドを使用します。

  gcloud bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --change-stream-retention-period=CHANGE_STREAM_RETENTION_PERIOD

次のように置き換えます。

  • TABLE_ID: 変更をストリーミングするテーブルの ID
  • INSTANCE_ID: テーブルを含むインスタンス
  • PROJECT_ID: インスタンスを含むプロジェクト
  • CHANGE_STREAM_RETENTION_PERIOD: Bigtable がテーブルの変更ストリーム データを保持する期間。1~7 日の範囲で指定し、数字と単位の文字で表す必要があります。使用できる単位は日(d)、時間(h)、分(m)、秒(s)です。例: 5d

次のステップ