SuperAPI AI 工具集

scylladb-cloud-setup

数据与分析

查看项目

更新于 10-16 02:10

技能介绍

用途

scylladb-cloud-setup 是一个交互式分步指导技能,用于帮助用户将应用程序连接到 ScyllaDB Cloud 集群。它适用于用户需要选择正确的 CQL 驱动和版本、配置认证,以及排查连接问题的场景。

该技能由代理(agent)根据用户环境提供定制化的说明。

主要能力

  • 引导用户确认是否已拥有 ScyllaDB Cloud 集群,并在没有集群时给出创建路径:登录 cloud.scylladb.com、点击 New Cluster 或 Free Trial、选择 AWS 或 GCP、配置区域/实例类型/集群名称、将 IP 加入白名单、(推荐)在创建时启用 VPC Peering(创建后无法再启用)、启动集群并等待配置完成。
  • 对于基础设施即代码(infrastructure-as-code)工作流,提示可通过 ScyllaDB Cloud Terraform provider(scylladbcloud_cluster 资源)来创建集群;该 provider 封装了与 Console 相同的 ScyllaDB Cloud REST API。
  • 指导用户从 Cloud Console 获取连接凭据:My Clusters → 打开集群 → Connect 标签页;需要记录节点地址(contact points,例如 node-0.your-cluster.cloud.scylladb.com)、端口(通常为 9042)、用户名(默认 scylla)、密码、数据中心名称(例如 AWS_US_EAST_1)。
  • 根据用户使用的编程语言推荐对应的 ScyllaDB CQL 驱动与安装方式。
  • 提供各语言连接配置片段(见 references/driver-configuration.md),并强调 ScyllaDB Cloud 的认证要求:使用 PlainTextAuthProvider,配合从 Console 获取的用户名和密码。
  • 提供最小连接测试查询并给出失败排查步骤。
  • 给出后续步骤建议:数据建模(scylladb-data-modeling 技能)、向量搜索(scylladb-vector-search 技能)、预编译语句(prepared statements)、连接池说明、基础设施即代码,以及通过 ScyllaDB Cloud MCP server 以编程方式管理集群。

使用方式

技能以分步交互形式运行,代理会检测用户环境并给出适配的指令。

步骤 1:确认集群正在运行

询问用户是否已拥有 ScyllaDB Cloud 集群。若没有,引导其前往 cloud.scylladb.com 登录或注册,创建集群并配置网络白名单。

步骤 2:获取连接凭据

引导用户从 Console 的 Connect 标签页获取节点地址、端口、用户名、密码和数据中心名称。

安全提示:不要向用户索取或自行处理凭据——应引导用户从 Console 获取并安全存储(环境变量、密钥管理器等)。

步骤 3:确定驱动

询问用户使用的编程语言,以便推荐正确的 ScyllaDB CQL 驱动:

  • Python:scylla-driver,pip install scylla-driver
  • Java:java-driver(ScyllaDB 的分支,4.x 系列),com.scylladb:java-driver-core:4.19.2.0(Maven);需要 Java 11+(自该版本起不再支持 Java 8)
  • Go:gocql + gocqlx,go get github.com/scylladb/gocql
  • Rust:scylla-rust-driver,cargo add scylla
  • C#:scylla-csharp-driver,NuGet 包
  • C++:cpp-rust-driver,从源码或 vcpkg 构建
  • Node.js:scylla-node-driver,npm install @scylladb/driver

重要:ScyllaDB 有自己的驱动分支,除非所用语言没有对应的 ScyllaDB 驱动,否则不要使用 DataStax/Cassandra 驱动。ScyllaDB 驱动包含分片感知优化,可将请求直接路由到正确的 CPU 核心,从而提升吞吐并降低延迟。

步骤 4:配置连接

参照 references/driver-configuration.md 中按语言给出的连接片段。ScyllaDB Cloud 的关键要求是认证:使用从步骤 2 获取的用户名和密码配合 PlainTextAuthProvider。IP 白名单和 VPC peering 的细节参见 references/cloud-connection.md。

步骤 5:测试连接

提供适合用户驱动语言的最小测试查询:

SELECT release_version FROM system.local;

如果该查询返回版本字符串,说明连接正常。如果失败,检查:

  • IP 未加入白名单——确认客户端 IP 在集群的 Allowed IPs 列表中
  • 数据中心名称错误——必须完全匹配(例如 AWS_US_EAST_1,而不是 us-east-1)
  • 端口错误——确保使用 9042 端口
  • 防火墙/VPN 阻断——确保允许 9042 端口上的出站 TCP
  • 使用了 Cassandra 驱动而非 ScyllaDB 驱动——DataStax 驱动缺少分片感知路由,可能存在兼容性问题

步骤 6:后续步骤

连接成功后,可建议相关后续方向:

  • 数据建模:使用 scylladb-data-modeling 技能获取模式设计指导
  • 向量搜索:如需相似度搜索,使用 scylladb-vector-search 技能
  • 预编译语句:建议对所有频繁执行的查询使用预编译语句(减少解析开销,支持 token 感知路由);完整模式和示例见 references/prepared-statements.md
  • 连接池:ScyllaDB 驱动通过分片感知连接在内部处理连接池,通常无需手动调优
  • 基础设施即代码:如果用户希望以声明式方式管理集群配置(而不只是将应用连接到已有集群),应指向 ScyllaDB Cloud Terraform provider,而不仅是步骤 1 中的手动 Console 流程
  • ScyllaDB Cloud MCP server:如果用户希望通过 AI 代理以编程方式管理 ScyllaDB Cloud 集群(创建集群、监控健康状态、配置网络等),可使用 ScyllaDB Cloud MCP server,完整文档见 https://cloud.docs.scylladb.com/master/api-docs/mcp

适用场景

  • 用户需要将新应用连接到 ScyllaDB Cloud 集群
  • 用户不确定该为特定语言选择哪个 ScyllaDB 驱动或版本
  • 用户连接失败,需要排查凭据、网络白名单、数据中心名称或端口问题
  • 用户希望获得创建集群的指引或 Terraform 方式

限制

  • 该技能不直接索取或处理用户凭据,而是引导用户自行获取与安全存储。
  • 技能本身为向导性质,具体连接参数(地址、用户名、密码、数据中心名称)需用户从 Cloud Console 获取。
  • 资料中未说明该技能的收费、价格或平台限制。