Apache Cassandra

您可以使用 Apache Cassandra 連接器,對 Cassandra 資料庫執行插入、刪除、更新和讀取作業。

事前準備

使用 Apache Cassandra 連接器前,請先完成下列工作:

  • 在 Google Cloud 專案中:
    • 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
    • roles/connectors.admin IAM 角色授予設定連線器的使用者。
    • 將下列 IAM 角色授予要用於連接器的服務帳戶:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請建立服務帳戶。詳情請參閱「建立服務帳戶」。

    • 啟用下列服務:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      如要瞭解如何啟用服務,請參閱「啟用服務」。

    如果專案先前未啟用這些服務或權限,系統會在設定連結器時提示您啟用。

  • 如要瞭解如何設定驗證,請參閱「設定驗證」。

設定連接器

連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分中,選擇連線位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援的地區清單,請參閱「位置」一文。

    2. 點按「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器的下拉式清單中選取「Apache Cassandra」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個字元。
    4. 視需要輸入連線執行個體的「Description」(說明)
    5. 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. 視需要設定「連線節點設定」

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    8. Keyspace:Cassandra Keyspace
    9. 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    10. 點按「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
      • 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

      如要輸入其他目的地,請按一下「+新增目的地」

    2. 點按「下一步」
  6. 在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      Apache Cassandra 連線支援下列驗證類型:

      • 使用者名稱和密碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點按「下一步」
  7. 檢查:檢查連線和驗證詳細資料。
  8. 點選「建立」

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 使用者名稱和密碼
    • 使用者名稱:用於連線的 Apache Cassandra 使用者名稱。
    • 密碼:Secret Manager 密鑰,內含與 Apache Cassandra 使用者名稱相關聯的密碼。

連線設定範例

基本驗證連線類型

Fieldname 詳細資料
位置 us-central1
連接器 apachecassandra
連接器版本 1
連線名稱 apache-cassandra-vm-conn
啟用 Cloud Logging
服務帳戶 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
資料庫 test-google-cloud
可瀏覽的結構定義
節點數量下限 2
節點數量上限 50
啟用安全資料傳輸層 (安全資料傳輸層設定)
目的地類型 主機位址
主機 192.0.2.0
通訊埠 PORT
使用者名稱 使用者名稱
密碼 密碼
密鑰版本 1

如果 Cassandra 執行個體已停用 SSL,您就無法使用基本驗證搭配使用者名稱和密碼。如果 Cassandra 執行個體已啟用 SSL,您必須產生 SSL 憑證、在 Cassandra 連線中啟用 SSL,並指定公開或私密憑證。

如果 PSC 執行個體已啟用 SSL,其他驗證類型就無法運作。在 Cassandra 連線中啟用 SSL,並指定公開或私密憑證。

Private Service Connect 連線類型

欄位名稱 詳細資料
位置 us-central1
連接器 apachecassandra
連接器版本 1
連線名稱 apache-cassandra-vm-conn-psc
啟用 Cloud Logging
服務帳戶 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
資料庫 DATABASE_NAME
可瀏覽的結構定義
節點數量下限 2
節點數量上限 50
SSL 設定
目的地類型 主機位址
主機 192.0.2.0
通訊埠 PORT
使用者名稱 使用者名稱
密碼 密碼
密鑰版本 1

SSL 連線類型

欄位名稱 詳細資料
位置 us-central1
連接器 apachecassandra
連接器版本 1
連線名稱 apache-cassandra-vm-conn
啟用 Cloud Logging
服務帳戶 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
資料庫 testgcp
可瀏覽的結構定義
節點數量下限 2
節點數量上限 50
啟用 SSL (位於「SSL Configuration」下方)
選擇信任模式 (位於信任儲存庫下方) 私人
自訂信任存放區 CUSTOM_TRUST_STORE
密鑰版本 1
用戶端憑證 (位於金鑰儲存區下方) CLIENT_CERT
密鑰版本 1
用戶端私密金鑰 (位於金鑰儲存區下方) CLIENT_PRIVATE_KEY
密鑰版本 1
目的地類型 主機位址
主機 192.0.2.0
通訊埠 PORT
使用者名稱 使用者名稱
密碼 密碼
密鑰版本 1

多節點連線類型

欄位名稱 詳細資料
位置 europe-west1
連接器 apachecassandra
連接器版本 1
連線名稱 apache-cassandra-vm-conn-multinode1
啟用 Cloud Logging
服務帳戶 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
資料庫 test-google-cloud
可瀏覽的結構定義
節點數量下限 2
節點數量上限 50
啟用 SSL (位於「SSL Configuration」下方)
目的地類型 主機位址
主機 192.0.2.0
通訊埠 PORT
主機 192.0.2.0
通訊埠 PORT
主機 192.0.2.0
通訊埠 PORT
使用者名稱 使用者名稱
密碼 密碼
密鑰版本 1

如要使用多節點連線類型,必須在 Cassandra 執行個體中停用 SSL,並使用使用者名稱和密碼進行驗證。如果 Cassandra 執行個體已啟用 SSL,您必須產生 SSL 憑證、在 Cassandra 連線中啟用 SSL,並指定公開或私密憑證。

使用 SSL 連線類型的多節點

欄位名稱 詳細資料
位置 europe-west1
連接器 apachecassandra
連接器版本 1
連線名稱 apache-cassandra-vm-conn-multinode1
啟用 Cloud Logging
服務帳戶 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com/td>
資料庫 test-google-cloud
可瀏覽的結構定義
節點數量下限 2
節點數量上限 50
啟用 SSL (位於「SSL Configuration」下方)
選擇信任模式 (位於信任儲存庫下方) 私人
自訂信任存放區 CUSTOM_TRUST_STORE
密鑰版本 1
用戶端憑證 (位於金鑰儲存區下方) CLIENT_CERT
密鑰版本 1
用戶端私密金鑰 (位於金鑰儲存區下方) CLIENT_PRIVATE_KEY
密鑰版本 1
目的地類型 主機位址
主機 192.0.2.1
通訊埠 PORT
主機 192.0.2.2
通訊埠 PORT
主機 3 192.0.2.3
通訊埠 PORT
使用者名稱 使用者名稱
密碼 密碼
密鑰版本 1

如要瞭解如何為 Apache Cassandra 設定 SSL,請參閱「設定具有 SSL 的 Cassandra 叢集

如要瞭解如何在單一節點上設定 Cassandra,請參閱「安裝 Cassandra 」或「 在 CentOS 7 上安裝 Apache Cassandra 」。

如要瞭解如何在多個節點上設定 Cassandra,請參閱「如何在多個資料中心安裝 Cassandra 」或「初始化多節點叢集」。

實體、作業和動作

所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。

  • 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。

    不過,連接器可能不支援或沒有任何實體,在這種情況下,Entities 清單會是空白。

  • 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:

    從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在 Operations 清單中列出這些不支援的作業。

  • 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時 Actions 清單會是空白。

系統限制

Apache Cassandra 連接器每秒可處理 65 筆交易,每個節點也是如此,且會節流任何超出此限制的交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。

在整合中建立 Apache Cassandra 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連線器」工作使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。

如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。

動作

這個連接器支援執行下列動作:

  • 使用者定義的預存程序和函式。如果後端有任何預存程序和函式,這些項目會列在 Configure connector task 對話方塊的 Actions 欄中。
  • 自訂 SQL 查詢。如要執行自訂 SQL 查詢,連接器提供「執行自訂查詢」動作。

    如要建立自訂查詢,請按照下列步驟操作:

    1. 請按照詳細說明 新增連接器工作
    2. 設定連接器工作時,請在要執行的動作類型中選取「動作」
    3. 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」

      圖片:顯示 execute-custom-query-action 圖片:顯示 execute-custom-query-action

    4. 展開「Task input」(工作輸入) 區段,然後執行下列操作:
      1. 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。

        預設值:180 秒。

      2. 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。

        預設值為 25

      3. 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。

        圖片:顯示自訂 SQL 查詢 圖片:顯示自訂 SQL 查詢

      4. 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」

        您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從 Employees 資料表選取與 LastName 資料欄指定值相符的所有資料列:

        SELECT * FROM Employees where LastName=?

      5. 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。

        圖片:顯示 add-query-param 圖片:顯示 add-query-param

        如要新增查詢參數,請按照下列步驟操作:

        1. 在「類型」清單中,選取參數的資料類型。
        2. 在「值」欄位中輸入參數值。
        3. 如要新增多個參數,請按一下「+ 新增查詢參數」

實體作業範例

範例 - 列出實體的記錄

這個範例會列出 Users 實體的記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Users
  3. 選取「List」作業,然後按一下「完成」
  4. 在「連線器」工作的「工作輸入」部分,您可以根據需求設定 filterClause

    舉例來說,如果將篩選子句設為 employeeCode='5100' and startDate='2010-01-01 00:00:00',系統只會列出 employeeCode 為 5100 且 startDate 為 2010-01-01 00:00:00 的記錄。

範例 - 從實體取得單一記錄

這個範例會從 Users 實體擷取記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 User
  3. 選取「Get」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入) 區段中,按一下「entityId」,然後在「Default Value」(預設值) 欄位中輸入 103032

    其中 103032Users 實體的主鍵值。

範例 - 從實體刪除記錄

這個範例會從 Users 實體刪除記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Users
  3. 選取「Delete」作業,然後按一下「完成」
  4. 在「連線器」工作的「工作輸入」部分,按一下「entityId」,然後在「預設值」欄位中輸入 113132

    或者,如果實體具有複合式主鍵,而非指定 entityId,則可以設定 filterClause。例如:employeeCode='5100' and startDate='2010-01-01 00:00:00'

範例 - 在實體中建立記錄

這個範例會在 Users 實體中建立記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Users
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
  5. 如果整合成功,連接器工作的 connectorOutputPayload 欄位會顯示建立作業的回應。

範例 - 更新實體中的記錄

這個範例會更新 Users 實體中的記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Users
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
    "country": "IN"
    }
  5. 在「連線器」工作的「工作輸入」部分,按一下「entityId」,然後在「預設值」欄位中輸入 113132

    或者,如果實體具有複合式主鍵,而非指定 entityId,則可以設定 filterClause。例如:employeeCode='5100' and startDate='2010-01-01 00:00:00'

  6. 如果整合成功,連接器工作的 connectorOutputPayload 欄位會顯示更新作業的回應。

使用 Terraform 建立連線

您可以使用 Terraform 資源建立新連線。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例

使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:

參數名稱 資料類型 必填 說明
鍵空間 STRING Cassandra Keyspace

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟