azure - 如何在变量中使用 Azure Arm 模板输出?
问题描述
我正在尝试解决我在使用 Azure ARM 模板时遇到的问题,我需要在我的 ARM 模板中捕获查询资源的输出,然后在同一个模板中,将该输出提供给变量/注入该输出到另一个依赖它的资源上的脚本中。
一个例子 -
"outputs":{
"downloadLocation": {
"type": "string",
"value": "[reference(resourceId('randomResource', variables('ResourceName'))).downloadLocation]"
}
}
和
variables: {
"downloadLocation": "[outputs('downloadLocation')]"
}
然后在依赖于查询输出源的资源之一中引用此变量。
downloadLocation 无论如何都无法格式化,它包含多个签名和不可预测的字符串。
仅供参考 - 下面的代码通过产生错误'模板函数'输出'无效'来停止使用 arm 模板。
我没有锁定将其存储为输出,我只需要能够在另一个资源中使用该值 - 但是它已经实现了!
我知道的唯一其他途径可行,但我不想探索,是输出可以存储在某个地方的文件中,然后后续脚本将其拾取并将其注入第二个 ARM 模板。
如果有使用它的方法,请告诉我,这将对我有很大帮助!
谢谢
解决方案
我找到了解决方案。在资源字段内时可以调用引用函数。所以我不得不使用上面看到的引用函数,但它不能存储在变量或参数中,而是需要直接在需要它的资源中调用。在这种情况下是 osProfile - customData 字段。
推荐阅读
- python - shapiro 和 normaltest 可以在 python 中互换使用吗?
- python - 如何从图形数据中标记作为循环中初始顶点的节点
- node.js - 使用 nodejs 和 mongoose 从具有动态嵌套级别的 mongodb 获取数据
- java - 如何在Activiti7中使用“IdentityService和FormService”
- python - 由于某种原因没有出现气泡
- unity3d - Unity生成OBB并集成到Android原生
- python - 如何跳过逗号和空格,但不改变值
- java - Java 字符串池是如何工作的?Java如何决定是否使用它?
- php - Mysql wokbench db与php的连接
- php - Laravel - 从两列创建最常见的列表