gpt4 book ai didi

azure - ARM 模板将字符串数组转换为对象数组

转载 作者:行者123 更新时间:2023-12-04 00:02:48 24 4
gpt4 key购买 nike

不确定此功能是否存在。我正在尝试将 Azure DevOps 构建参数中的逗号分隔 IP 地址列表转换为对象数组。到目前为止,它只是将逗号分隔的列表拆分为字符串数组,但模板需要一个对象数组。

参数值是逗号分隔的 IP 地址列表。例如“192.168.0.1,192.168.0.2/32,127.0.0.1

ARM 模板如下所示:

"variables": {
"ipaddresses": "[split(parameters('ipaddresses'), ',')]"
},
"resources": [
...
"ipRestrictions": "[stringArrToObjArr(variables('ipaddresses'))]" <--
...
]

理想情况下,使用上面的箭头函数会产生 ipRestictions 的值,如下所示:

[
{
"ipAddress": "192.168.0.1"
},
{
"ipAddress": "192.168.0.2/32"
},
{
"ipAddress": "127.0.0.1"
},
]

最佳答案

您可以使用copy()函数来做到这一点:

"variables": {
"ipaddresses": "[split(parameters('ipaddresses'), ',')]"
"copy": [
{
"name": "myVariable",
"count": "[length(variables('ipaddresses'))]",
"input": {
"ipAddress": "[variables('ipaddresses')[copyIndex('myVariable')]]"
}
}
]
},

这会将所需的对象返回到名为 myVariable 的变量中。如果你想重命名它 >> 不要忘记在 copyIndex() 中也重命名它

关于azure - ARM 模板将字符串数组转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com