取决于暂存槽,资源 ID 中有多个逗号
dependsOn on staging slot, multiple commas in resource id
在我的一生中,我似乎无法获得 dependsOn 部分来正确构建对暂存槽的依赖。我收到以下错误:
Unable to evaluate template language function 'resourceId': function requires exactly one multi-segmented argument which must be resource type including resource provider namespace. Current function arguments 'Microsoft.Web/sites/slots,web01/staging'
我尝试了很多方法,但都以相同的错误告终,下面是我尝试过的选项之一:
"dependsOn": [
"[concat(resourceId('Microsoft.Web/sites/slots', parameters('webappName')), '/staging')]"
],
和
"dependsOn": [
"[resourceId('Microsoft.Web/sites/slots', concat(parameters('webappName')), '/staging'))]"
],
有谁知道我该如何解决这个问题?
不需要使用concat函数,resourceId本身接受几个参数构成名称:https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#resourceid
这里举例说明我们如何在我的工作中使用它来为插槽创建配置。
"apiVersion": "2015-08-01",
"condition": "[equals(parameters('CreateSlot'), 'true')]",
"name": "appsettings",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('functionAppName'))]",
"[resourceId('Microsoft.Web/sites/slots', variables('functionAppName'), parameters('SlotName'))]"
],
"properties": {
"AzureWebJobsDashboard": "[concat('DefaultEndpointsProtocol=https;AccountName=',variables('storageAccountName'),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2015-05-01-preview').key1)]"
]
在我的一生中,我似乎无法获得 dependsOn 部分来正确构建对暂存槽的依赖。我收到以下错误:
Unable to evaluate template language function 'resourceId': function requires exactly one multi-segmented argument which must be resource type including resource provider namespace. Current function arguments 'Microsoft.Web/sites/slots,web01/staging'
我尝试了很多方法,但都以相同的错误告终,下面是我尝试过的选项之一:
"dependsOn": [
"[concat(resourceId('Microsoft.Web/sites/slots', parameters('webappName')), '/staging')]"
],
和
"dependsOn": [
"[resourceId('Microsoft.Web/sites/slots', concat(parameters('webappName')), '/staging'))]"
],
有谁知道我该如何解决这个问题?
不需要使用concat函数,resourceId本身接受几个参数构成名称:https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#resourceid
这里举例说明我们如何在我的工作中使用它来为插槽创建配置。
"apiVersion": "2015-08-01",
"condition": "[equals(parameters('CreateSlot'), 'true')]",
"name": "appsettings",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('functionAppName'))]",
"[resourceId('Microsoft.Web/sites/slots', variables('functionAppName'), parameters('SlotName'))]"
],
"properties": {
"AzureWebJobsDashboard": "[concat('DefaultEndpointsProtocol=https;AccountName=',variables('storageAccountName'),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2015-05-01-preview').key1)]"
]