我有一个appfig.json文件,其中包含azure应用程序配置的键值详细信息.示例appConfig.json:
[
{
"contentType": "",
"key": "FuncApp:Ihub:Common:D365Api:JobStatusRelativePath",
"tags": {
},
"value": "/api/connector/jobstatus"
},
{
"contentType": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"key": "secretName",
"label": null,
"tags": {
},
"value": "{\"uri\":\"https://iac-key-vault-sandbox2.net/secrets/secretName\"}"
}
]
现在,在appfig.tf文件中,我希望读取json的内容,并迭代地将值分配给azurerm_app_configuration_key.示例代码
locals {
appConfigData = jsondecode(file("appConfig.json"))
}
resource "azurerm_app_configuration_key" "appConfigKey" {
configuration_store_id = azurerm_app_configuration.appConfiguration.id
for_each = [for element in local.appConfigData: local.appConfigData]
key = each.value.key
label = each.value.label
value = each.value.value
content_type = each.value.contentType
}
我想了解如何完成这项任务,因为我一直未能做到这一点.我不断收到如下错误:
╷
│ Error: Invalid for_each argument
│
│ on terraform_AppConfig.tf line 17, in resource "azurerm_app_configuration_key" "appConfigKey":
│ 17: for_each = [for element in local.appConfigData: local.appConfigData]
│ ├────────────────
│ │ local.appConfigData is tuple with 4 elements
│
│ The given "for_each" argument value is unsuitable: the "for_each" argument must be a map, or set of strings, and you have provided a value of type tuple.