azure - ARM 模板:有条件地添加到数组
问题描述
对于我的 Azure ARM 模板,我想有条件地添加一个额外的 NSG 规则。如果参数为真,则将额外规则附加到“securityRules”数组。我如何有效地解决这个问题?我不能对嵌套对象使用“条件”属性。创建两个资源似乎很笨重。
解决方案
根据条件,您想向现有的 json 数组添加一个额外的(字符串)值。这可以通过 concat 函数来完成。为了连接数组和字符串值,字符串值也需要转换为数组。当条件为真时,可以连接两个数组。当条件为假时,您可以将现有字符串与空数组连接起来。
"[concat( parameters('existingArray'), if( parameters('condition'), array('Cc'), variables('emptyArray')) )]"
假设原始数组是:["Aa", "Bb"]
- 当条件为真时,这将导致:["Aa", "Bb", "Cc"]
- 当条件为假时,这将导致:["Aa", "Bb"]
推荐阅读
- mongodb - 文档自动过期后接收回调的芒果模板
- java - 根据日期值过滤 HashMap 的 ArrayList
- flutter - 如何去除颤动中的空白?
- java - 无法从 API R 中的 BroadcastReceiver 类启动Activity(上下文,意图)(android studio)
- python - 如何将 NULL 值作为零包含在 Python 中的方差计算中?
- powershell - Power shell 中使用的物理内存百分比的性能计数器
- lit-element - 如何防止重新呈现大型列表?
- javascript - 如何防止调用 jQuery 重复函数
- ios - NSFetchedResultsController 在 Tableview 中显示时崩溃
- javascript - 替换不使用点怎么办?