gcloud BQ组件2.0.95更新BigQuery连接时出现参数异常求助
BigQuery连接更新报错:UpdateConnection() got an unexpected keyword argument 'default_kms_key'
问题详情
- 环境信息:
- BigQuery CLI版本:2.0.95
- gcloud SDK版本:441.0.0
- 执行的更新命令:
bq update --connection --connection_type=CLOUD_SQL '--properties={"instanceId" : "XXXXXXX:us-east1:XXXXXX","database" : "XXXXXXX", "type" : "MYSQL" }' '--connection_credential={"username":"readonlyuser", "password":"XXXXXXXXXX"}' XXXXXXXX.us.XXXXXX
- 报错内容:
UpdateConnection() got an unexpected keyword argument 'default_kms_key'
- 特殊情况:未手动指定
default_kms_key参数,但仍触发该错误;回退至gcloud SDK 438.0.0版本后,更新操作可正常完成。
原因分析
这是gcloud SDK 441.0.0版本与BigQuery CLI 2.0.95之间的兼容性问题。该版本的gcloud在底层调用BigQuery的UpdateConnection接口时,会自动传入default_kms_key参数,但旧版本的bq工具并未适配这个参数,因此抛出了不识别参数的错误。
可行解决方案
- 回退gcloud版本:暂时使用gcloud SDK 438.0.0版本,可避开该兼容性问题;
- 改用gcloud命令替代bq命令:直接使用gcloud的bigquery连接更新命令,避免bq工具的适配问题,示例命令:
gcloud bigquery connections update XXXXXXXX.us.XXXXXX \ --connection-type=CLOUD_SQL \ --properties='{"instanceId":"XXXXXXX:us-east1:XXXXXX","database":"XXXXXXX","type":"MYSQL"}' \ --connection-credential='{"username":"readonlyuser","password":"XXXXXXXXXX"}'
- 等待工具更新:关注BigQuery CLI的版本更新,待其适配gcloud SDK 441+的参数逻辑后升级使用。
内容的提问来源于stack exchange,提问作者chandan kotwal
相关产品推荐
相关产品推荐

