Apache Cassandra 連線

Apache Cassandra 連線類型啟用與 Apache Cassandra 的連線。

預設連線 ID

Cassandra hook 和 Cassandra 運算子預設使用 cassandra_default

設定連線

主機 (必填)

要連線的主機。可以將多個主機指定為逗號分隔的列表。

Schema (必填)

要在資料庫中使用的 schema (keyspace) 名稱。

登入 (必填)

要連線的使用者名稱。

密碼 (必填)

要連線的密碼。

埠號 (必填)

要連線的埠號。

額外 (選填)

可用於 Cassandra 連線的額外參數 (以 JSON 字典形式)。支援以下超出標準 Python 參數的參數

  • load_balancing_policy - 此參數指定要使用的負載平衡策略。有四種可用的策略:RoundRobinPolicyDCAwareRoundRobinPolicyWhiteListRoundRobinPolicyTokenAwarePolicyRoundRobinPolicy 是預設的負載平衡策略。

  • load_balancing_policy_args - 此參數指定要使用的負載平衡策略的引數。

  • cql_version - 此參數指定 Cassandra 的 CQL 版本。

  • protocol_version - 此參數指定要使用的原生協定的最大版本。

  • ssl_options - 此參數指定與 SSL 相關的詳細資訊 (如果在 Cassandra 中啟用)。

額外欄位的範例

  1. 指定 ssl_options

如果 Cassandra 中啟用了 SSL,請在額外欄位中傳入一個 dict 作為 ssl.wrap_socket() 的 kwargs。例如

{
  "ssl_options": {
    "ca_certs": "PATH/TO/CA_CERTS"
  }
}
  1. 指定 load_balancing_policyload_balancing_policy_args

預設負載平衡策略為 RoundRobinPolicy。以下是一些指定不同 LB 策略的範例

DCAwareRoundRobinPolicy

{
  "load_balancing_policy": "DCAwareRoundRobinPolicy",
  "load_balancing_policy_args": {
    "local_dc": "LOCAL_DC_NAME",
    "used_hosts_per_remote_dc": "SOME_INT_VALUE"
  }
}

WhiteListRoundRobinPolicy

{
  "load_balancing_policy": "WhiteListRoundRobinPolicy",
  "load_balancing_policy_args": {
    "hosts": ["HOST1", "HOST2", "HOST3"]
  }
}

TokenAwarePolicy

{
  "load_balancing_policy": "TokenAwarePolicy",
  "load_balancing_policy_args": {
    "child_load_balancing_policy": "CHILD_POLICY_NAME",
    "child_load_balancing_policy_args": {}
  }
}

這個條目有幫助嗎?