建立啟用變更串流的資料表並擷取變更

瞭解如何設定啟用變更串流的 Bigtable 資料表、執行變更串流管道、變更資料表,然後查看串流的變更。

事前準備

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
    • 建立專案:如要建立專案,您需要具備專案建立者角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色

    前往專案選取器

  2. 確認專案已啟用計費功能 Google Cloud

  3. 啟用 Dataflow、Cloud Bigtable API 和 Cloud Bigtable Admin API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

  4. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

建立啟用變更串流的資料表

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    前往「Instances」(執行個體)

  2. 按一下您要在本快速入門導覽課程使用的執行個體 ID。

    如果沒有可用的執行個體,請在您附近的區域建立執行個體,並使用預設設定。

  3. 按一下左側導覽窗格中的「表格」

  4. 按一下「建立資料表」

  5. 將資料表命名為 change-streams-quickstart

  6. 新增名為 cf 的資料欄系列。

  7. 選取「啟用變更串流」

  8. 點選「建立」

初始化資料管道,擷取變更串流

  1. 在 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
  2. 前往 Google Cloud 控制台的「Dataflow」頁面。

    前往 Dataflow

  3. 按一下名稱開頭為「changestreamquickstart」changestreamquickstart的工作。

  4. 按一下畫面底部的「顯示」,開啟記錄面板。

  5. 按一下「Worker logs」(工作人員記錄),監控變更串流的輸出內容。

  6. 在 Cloud Shell 中,將一些資料寫入 Bigtable,查看變更串流程序。

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. 在 Google Cloud 控制台中,確認「嚴重程度」至少設為 Info

  8. 工作站記錄輸出內容包含以下內容:

    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 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。

  1. 停用資料表的變更串流

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. 刪除資料表 change-streams-quickstart

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. 停止變更串流管道:

    1. 前往 Google Cloud 控制台的 Dataflow「Jobs」(工作) 頁面。

      前往「Jobs」(工作) 頁面

    2. 從工作清單中選取串流工作。

    3. 按一下導覽區中的「停止」

    4. 在「停止工作」對話方塊中取消管道,然後按一下「停止工作」

  4. 選用:如果您為本快速入門導覽課程建立了新的執行個體,請刪除該執行個體:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

後續步驟