You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Terraform后出现GRPCProvider UpgradeResourceState错误如何解决

问题根因

该报错是terraform-provider-google v3.61.0版本的已知兼容性Bug,在处理BigQuery表Schema的diff校验逻辑时,类型转换代码存在缺陷,会把字符串类型的参数误判为map类型触发panic,在Terraform从0.14跨版本升级到1.x系列时,旧状态的资源属性迁移逻辑会触发该缺陷。

可执行的解决步骤
  • 首先调整Terraform provider版本约束,在versions.tf文件中将google provider的最低版本要求设置为>=3.63.0,该版本已官方修复此BigQuery表处理的panic问题,若你的其他资源逻辑可兼容,推荐直接升级到4.x稳定分支的google provider,适配性更好。
  • 版本约束修改完成后,执行terraform init -upgrade拉取对应版本的provider,避免手动删除.terraform目录可能带来的其他依赖问题。
  • 重新执行terraform plan验证是否还触发报错,如果仍然异常,说明旧状态中存储的BigQuery表属性存在旧版本残留格式,可先针对报错的资源执行terraform state rm module.ds-bigquery.google_bigquery_table.prism_tables_no_partition["co.expenses"]移除旧状态,再通过terraform import命令将云上已存在的表重新导入Terraform状态即可。
  • 若上述操作完成后仍有问题,检查你定义的BigQuery表Schema结构,确认没有格式错误:比如需要是对象结构的policyTags、字段属性等不要误写为字符串格式,确保Schema结构和官方要求的字段定义完全匹配。

内容的提问来源于stack exchange,提问作者Nathan McKaskle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:39:03