ARM 模板 - 如何引用 copyIndex() 部署输出?

ARM Template - How to reference a copyIndex() deployment output?

我通过 copyIndex() 部署了 30 个 SQL 数据库作为主部署的子部署,我希望在启动另一个部署时能够引用动态部署的输出。部署所有数据库后,我想将所有 Azure Monitor 指标规则发送到数据库,并需要它们的 resourceIds(数据库部署的输出)。

答案 听起来和我想做的一模一样,我知道每个部署都被链接起来以获得前一个部署的输出。但是如果我想使用链式 "state" 输出,它是数组中具有完整链的最后一个元素吗?如果是这样,引用它的最佳方法是仅构建部署名称并追加 copyIndex 数组的长度吗?

reference(concat('reference', length(variables('types'))).outputs.state.value

这样吗?

是的,您基本上需要构造一个作为部署名称的名称:

referenceX

其中 X 是最后一次部署的编号,您可以完全按照您的建议使用 length() 函数。

只有当您收集所有中间步骤的输出时,以上内容才有效,显然