在Terraform v0.13.7中如何将ASCII整数转换为对应字符?
在Terraform v0.13.7中实现ASCII整数转字符
Terraform v0.13.7的format函数不支持%c格式符,这就是你遇到报错的原因。该版本没有内置直接将ASCII整数转为对应字符的函数,可通过以下两种替代方案实现需求:
方案1:使用映射表(通用场景)
手动创建ASCII码与字符的映射关系,通过lookup函数匹配转换:
locals { ascii_char_map = { 97 = "a" 98 = "b" 99 = "c" # 根据实际需求添加更多ASCII码对应项 } } resource "aws_volume_attachment" "app" { # 其他配置... device_name = "xvd${lookup(local.ascii_char_map, 98, "")}" # 输出xvdb }
方案2:利用字符串索引(连续ASCII字符场景)
针对小写字母、大写字母这类连续的ASCII字符,可通过字符串索引计算获取对应字符:
locals { lowercase_chars = "abcdefghijklmnopqrstuvwxyz" } resource "aws_volume_attachment" "app" { # 其他配置... # 98是字符b的ASCII码,97是a的ASCII码,索引为98-97=1(substr从0开始计数) device_name = "xvd${substr(local.lowercase_chars, 98-97, 1)}" # 输出xvdb }
内容的提问来源于stack exchange,提问作者ramu karri
相关产品推荐
相关产品推荐

