如何将 ResourceID 函数用于应用程序服务槽
How to use ResourceID function for an app service slot
我在 arm 模板中为我的密钥保管库分配资源策略,一切正常,直到我想为应用服务的部署槽分配策略。
已创建应用服务的槽,但在分配访问权限(即授予槽访问密钥库的权限)的 arm 模板中,我使用它来获取资源 ID:
"resourceId": {
"type": "string",
"defaultValue": "[resourceId(parameters('resourceGroup'), parameters('resourceType'), parameters('resourceName'))]",
"metadata": {
"description": "The resource id of the resource to set the policy for. Defaults to the ResourceId function of the resource's resource group, type and name."
}
}
我收到这个错误:
无法评估模板语言函数 'resourceId':函数只需要一个多段参数,该参数必须是资源类型,包括资源提供程序命名空间。当前函数参数 'MyResourceGroupName,Microsoft.Web/sites,MyAppServiceName/slots/Pre'.
我不太确定我应该在这里传递什么,但我需要 resourceId 以便它可以添加到密钥保管库中的访问策略。同样的arm模板适用于普通站点,slot一定有什么特别之处吧?
您必须将资源提供者名称 'Microsoft.Web/Sites/Slots'
包含在 Web 应用程序名称和舞台名称中。您只有网络应用名称。
尝试使用这个:
"resourceId": {
"type": "string",
"defaultValue": "[resourceId('Microsoft.Web/sites/slots', parameters('resourceName'), parameters('stageName'))]"
}
我在 arm 模板中为我的密钥保管库分配资源策略,一切正常,直到我想为应用服务的部署槽分配策略。
已创建应用服务的槽,但在分配访问权限(即授予槽访问密钥库的权限)的 arm 模板中,我使用它来获取资源 ID:
"resourceId": {
"type": "string",
"defaultValue": "[resourceId(parameters('resourceGroup'), parameters('resourceType'), parameters('resourceName'))]",
"metadata": {
"description": "The resource id of the resource to set the policy for. Defaults to the ResourceId function of the resource's resource group, type and name."
}
}
我收到这个错误: 无法评估模板语言函数 'resourceId':函数只需要一个多段参数,该参数必须是资源类型,包括资源提供程序命名空间。当前函数参数 'MyResourceGroupName,Microsoft.Web/sites,MyAppServiceName/slots/Pre'.
我不太确定我应该在这里传递什么,但我需要 resourceId 以便它可以添加到密钥保管库中的访问策略。同样的arm模板适用于普通站点,slot一定有什么特别之处吧?
您必须将资源提供者名称 'Microsoft.Web/Sites/Slots'
包含在 Web 应用程序名称和舞台名称中。您只有网络应用名称。
尝试使用这个:
"resourceId": {
"type": "string",
"defaultValue": "[resourceId('Microsoft.Web/sites/slots', parameters('resourceName'), parameters('stageName'))]"
}