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

使用azurecaf生成多名称时,如何调用results输出并调试其结构?

调用azurecaf_name的results输出

azurecaf_name资源的results是键值对(map)结构,键对应你指定的资源类型(包括resource_type和resource_types列表中的所有项),值为生成的符合规范的Azure资源名称。

1. 在其他资源中引用

直接通过资源名称+.results["资源类型"]的方式调用,例如:

  • 引用生成的资源组名称:
resource "azurerm_resource_group" "rg" {
  name     = azurecaf_name.names.results["azurerm_resource_group"]
  location = var.resource_group_location
}
  • 引用生成的SQL数据库名称:
resource "azurerm_mssql_database" "db" {
  name      = azurecaf_name.names.results["azurerm_mssql_database"]
  server_id = azurerm_mssql_server.example.id
  sku_name  = "GP_Gen5_2"
}

2. 查看results的结构

有两种简单方式可以查看results的具体结构:

  • 方式一:使用Terraform控制台
    执行命令:
terraform console

进入控制台后输入以下内容并回车,即可看到results的完整结构:

azurecaf_name.names.results

输出示例类似:

{
  "azurerm_resource_group" = "dev-myapp-eastus-abcde"
  "azurerm_mssql_database" = "dev-myapp-eastus-abcde"
}
  • 方式二:定义输出变量
    在项目中创建或修改outputs.tf,添加以下内容:
output "azurecaf_generated_names" {
  description = "Generated names from azurecaf provider"
  value       = azurecaf_name.names.results
}

执行terraform plan或terraform apply后,控制台会输出results的结构和具体值。

内容的提问来源于stack exchange,提问作者me.at.coding

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:14