【发布时间】:2021-04-29 10:01:14
【问题描述】:
嘿,我正在为一个逻辑应用程序进行 CI/CD 部署,我有一个表存储来存储一些数据,我有两个表存储用于 test 和 prod 环境。我在 ARM 模板中创建了一个名为 *table_storage_name 的参数:
"parameters": {
// ....
"connections_azuretables_1_externalid": {
"defaultValue": "/subscriptions/e5..../resourceGroups/myrg.../providers/Microsoft.Web/connections/azuretables-1",
"type": "String"
},
"table_storage_name": {
"defaultValue": "testdevops",
"type": "String"
}
}
当我在 template.json 文件中引用参数时出现错误:
// ...
"Insert_Entity": {
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "ApiConnection",
"inputs": {
"body": {
"PartitionKey": "@body('Parse_JSON')?['name']",
"RowKey": "@body('Parse_JSON')?['last']"
},
"host": {
"connection": {
"name": "@parameters('$connections')['azuretables_1']['connectionId']"
}
},
"method": "post",
// problem occur after this line
"path": "/Tables/@{encodeURIComponent('[parameters('table_storage_name')]')}/entities"
}
}
但得到这个错误:
InvalidTemplate:模板验证失败:“第 1 行和第 582 列的模板操作 'Insert_Entity' 无效:“无法解析模板语言表达式 'encodeURIComponent([parameters('table_storage_name')]) ':预期的令牌'标识符'和实际的'LeftSquareBracket'。"。'。
我尝试使用反斜杠转义引号,例如:encodeURIComponent(\'[parameters('table_storage_name')]\') 或 encodeURIComponent('[parameters(''table_storage_name'')]'),但它们都会引发错误。如何在 ARM 模板中引用 encodeURIComponent 中的参数?
【问题讨论】:
-
你能在你展示的两行周围显示更多来自 ARM 模板的上下文吗?
-
完成@silent :)
-
看我的回答:)
标签: azure-devops azure-logic-apps arm-template