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

如何在Terraform中移除.azurecr.io并给字符串首段追加-test?

在Terraform中实现Azure容器注册表地址的指定转换

可以通过Terraform的字符串处理函数组合来实现需求,核心用到trim_suffix和regex_replace两个函数,具体步骤和示例如下:

实现逻辑拆解

  1. 移除固定后缀:先用trim_suffix函数去掉字符串末尾的.azurecr.io子串,得到前缀部分。
  2. 修改第一段内容:再用regex_replace函数匹配前缀中第一个点号之前的内容,在其末尾追加-test。

示例代码

variable "acr_addresses" {
  type    = list(string)
  default = [
    "crdemo01.australiaeast.data.azurecr.io",
    "crdemo01.australiasoutheast.data.azurecr.io",
    "crdemo01.azurecr.io"
  ]
}

locals {
  transformed_acr_addresses = [
    for addr in var.acr_addresses :
    regex_replace(
      trim_suffix(addr, ".azurecr.io"),
      "^([^.]+)",
      "$1-test"
    )
  ]
}

output "result" {
  value = local.transformed_acr_addresses
}

转换结果验证

执行上述代码后,输出的result会包含以下转换后的字符串:

  • crdemo01-test.australiaeast.data
  • crdemo01-test.australiasoutheast.data
  • crdemo01-test

函数说明

  • trim_suffix(str, suffix):精准移除字符串末尾指定的后缀内容,避免误删中间匹配的子串。
  • regex_replace(str, pattern, replacement):通过正则表达式匹配目标内容,^([^.]+)表示匹配从字符串开头到第一个点号的所有字符,$1-test表示将匹配到的内容替换为“原内容-test”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:59:54