Terraform的string值类型最大支持的长度是多少
Terraform string值类型长度限制说明
Terraform核心没有对string类型设置全局固定的硬长度上限,实际使用时的最大可用长度受三类场景约束:
- 底层运行环境限制:Terraform基于Go语言开发,string类型的底层实现为Go的原生字符串,32位系统下最大长度约为2GB,64位系统下没有代码层面的固定上限,仅受当前进程可分配的内存大小限制
- 对应Provider的规则限制:绝大多数实际使用场景下遇到的长度约束,都来自你调用的基础设施Provider的参数规则,比如云厂商Provider会对齐对应云API的要求,给特定资源的字符串参数设置长度上限,这类限制需要参考对应Provider的参数文档
- 状态存储限制:超长字符串会直接增大Terraform状态文件的体积,可能超出你使用的状态存储后端的单对象大小限制,同时也会增加状态文件读写、同步的性能开销
官方类型定义仅明确string为Unicode字符序列,确实没有单独标注全局长度上限的相关说明,目前行业内默认以上述三类场景的最小限制作为实际可用的最大长度。
内容的提问来源于stack exchange,提问作者Bill Weissborn
相关产品推荐
相关产品推荐

