Apache Cassandra 連線¶
Apache Cassandra 連線型別可以連線到 Apache Cassandra。
預設連線 ID¶
Cassandra hook 和 Cassandra operator 預設使用 cassandra_default。
配置連線¶
- 主機 (必需)
要連線的主機。可以透過逗號分隔列表指定多個主機。
- Schema (必需)
在資料庫中使用的 Schema (keyspace) 名稱。
- 登入 (必需)
用於連線的使用者名稱。
- 密碼 (必需)
用於連線的密碼。
- 埠 (必需)
用於連線的埠。
- Extra (可選)
可在 Cassandra 連線中使用的額外引數(以 JSON 字典形式)。支援以下非標準 Python 引數的額外引數:
load_balancing_policy- 此引數指定要使用的負載均衡策略。有四種可用的策略:RoundRobinPolicy、DCAwareRoundRobinPolicy、AllowListRoundRobinPolicy和TokenAwarePolicy。RoundRobinPolicy是預設的負載均衡策略。load_balancing_policy_args- 此引數指定正在使用的負載均衡策略的引數。cql_version- 此引數指定 Cassandra 的 CQL 版本。protocol_version- 此引數指定要使用的本機協議的最大版本。ssl_options- 此引數指定與 SSL 相關的詳細資訊,如果 Cassandra 中啟用了 SSL。
Extra 欄位示例¶
指定
ssl_options
如果在 Cassandra 中啟用了 SSL,可在 Extra 欄位中傳遞一個字典作為 ssl.wrap_socket() 的關鍵字引數。例如
{
"ssl_options": {
"ca_certs": "PATH/TO/CA_CERTS"
}
}
指定
load_balancing_policy和load_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"
}
}
AllowListRoundRobinPolicy
{
"load_balancing_policy": "AllowListRoundRobinPolicy",
"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": {}
}
}