在部署实际应用程序之前,我们使用ARM模板作为构建过程的一部分来部署Azure资源。Azure ARM模板 - 访问由另一个ARM模板中的一个ARM模板创建的资源ID
到目前为止,我们所有的应用程序资源都包含在resource group
之内。例如需要SQL服务器和存储帐户的Web应用程序会被分成一个资源组。
但是我们遇到了需要共享资源的场景/需求,例如。跨资源组的存储帐户。资源组A具有存储帐户,并且资源组B的Web应用程序需要与appconfig.json/web.config
中的存储帐户有关的连接字符串/应用程序密钥。
问题
如何建立您在B资源组的应用程序的连接字符串来连接到资源的资源组,因为我需要获得B中的资源组A的ID
这里是我建立的连接字符串,如果它们是相同的资源组
"variables"
{
"storageAccounts_id": "[concat(**resourceGroupA**().id,'/providers/Microsoft.Storage/storageAccounts/', variables('storageAccntName'))]",
},
"resources": [
{
"apiVersion": "2015-08-01",
"type": "config",
"name": "connectionstrings",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('MyWebSiteName'))]"
],
"properties": {
"AzureWebJobsDashboard": {
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=',variables('storageAccntName'),';AccountKey=',concat(listKeys(variables('storageAccounts_id'),'2015-05-01-preview').key1))]",
"type": "Custom"
},
}
}
]
中的注意事项: 我确实通过这个网站https://azure.microsoft.com/en-us/documentation/articles/resource-group-linked-templates/了解了链接的模板,但它不适合我们当前的构建过程,它使用Octo
(,除非我可能缺少),它首先部署ARM,然后应用程序(web)。
你有没有得到任何东西了这方面的工作? – MPavlak