如何解决cql-proxy报错:必须提供bundle路径、token或联系点
问题分析与解决
报错cql-proxy: error: must provide either bundle path, token, or contact points的核心原因是环境变量命名格式错误,cql-proxy要求环境变量用下划线分隔(比如ASTRA_TOKEN),但你配置里用了连字符(比如ASTRA-TOKEN),导致程序无法识别这些参数,自然认为你没提供必要的启动条件。
另外你的配置里还有几个冗余参数,会干扰cql-proxy的正常启动:
CONTACT-POINTS:这是连接自建Cassandra集群用的,连接Astra DB不需要USERNAME/PASSWORD:使用Astra Token认证时,这两个参数完全多余,Token本身已经包含了认证信息
修正后的docker-compose.yml配置
cassandra-service: image: datastax/cql-proxy:v0.1.2 container_name: cassandra-container hostname: cassandra-service ports: - 9042:9042 networks: - clicknrate-network restart: always volumes: - ./secure-connect-clicknrate.zip:/secrets/secure-connect-clicknrate.zip environment: - ASTRA_TOKEN=AstraCS:******** - ASTRA_DATABASE_ID=******* - ASTRA_API_URL=https://api.astra.datastax.com - PORT=9042 - KEYSPACE=clicknrate - ASTRA_BUNDLE=/secrets/secure-connect-clicknrate.zip - SCHEMA_ACTION=CREATE_IF_NOT_EXISTS
关键修改点
- 所有环境变量的连字符替换为下划线(比如
ASTRA-TOKEN→ASTRA_TOKEN) - 删除了
DATA-CENTER、USERNAME、PASSWORD、CONTACT-POINTS这些多余参数
修改后重启Docker Compose服务,cql-proxy就能正确读取Astra DB的认证信息,正常启动了。
内容的提问来源于stack exchange,提问作者alia
相关产品推荐
相关产品推荐

