Azure mainTemplate.json - 从 templateLink 访问输出

Azure mainTemplate.json - access output from templateLink

我有一个 JSON 部署模板,内容如下:

{
    "type": "Microsoft.Resources/deployments",
    "apiVersion": "2019-10-01",
    "name": "parameters('storageAccounts')[copyIndex()].name",
    "resourceGroup": "[resourceGroup().name]",
    "properties": {
        "mode": "Incremental",
        "templateLink": {
            "uri": "'https://foo.blob.sa/StorageAccount/azuredeploy.json"
        },
        "parameters": {
            ...
        }
    },

azuredeploy.json 创建存储帐户然后有如下内容:

"outputs": {
    "storageAccountWebEndpoint": {
        "type": "object",
        "value": {
            "tags": { ... },
            "type": "string",
            "value": "[reference(parameters('storageAccountName')).primaryEndpoints.web]"
        }
    },

是否可以利用链接模板的输出为我的部署模板中的另一个资源设置 属性?
如果是这样,语法是什么?

(假设我 dependsOn 设置正确。)

您可以使用函数 reference() 在 link 模板中获取输出:

"[reference('deploymentName').outputs.propertyName.value]"

但请注意:

When getting an output property from a linked template, the property name must not include a dash.

获取更多详细信息here