在Terraform中使用for_each部署Azure应用服务槽时如何输出ID
获取通过for_each创建的Azure应用服务槽ID的Terraform配置
要输出你用for_each创建的两个Azure Windows应用服务槽的ID,只需添加对应的output块即可。由于使用了for_each,资源实例会以映射(map)形式存在,需要通过遍历提取每个实例的ID:
output "web_app_slot_ids" { description = "Azure Windows Web App Slots 的ID列表" value = { for slot in azurerm_windows_web_app_slot.staging-1 : slot.name => slot.id } }
说明:
- 这里用
for表达式遍历azurerm_windows_web_app_slot.staging-1这个资源映射,将每个槽的名称作为键,对应的ID作为值,输出一个清晰的键值对结构。 - 执行
terraform apply完成部署后,你就能在输出结果中看到staging-one和staging-two各自的应用服务槽ID。
也可以直接基于for_each的键来构造输出,效果一致:
output "web_app_slot_ids" { description = "Azure Windows Web App Slots 的ID列表" value = tomap({ for name, slot in azurerm_windows_web_app_slot.staging-1 : name => slot.id }) }
内容的提问来源于stack exchange,提问作者syed mohsin
相关产品推荐
相关产品推荐

