解决父资源的错误

本文介绍部署依赖于父资源的资源时可能遇到的错误。

症状

在部署的资源是另一个资源的子级时,可能会收到以下错误:

Code=ParentResourceNotFound;
Message=Can not perform requested operation on nested resource. Parent resource 'exampleserver' not found."

原因

如果一个资源是另一个资源的子级,则在创建子资源之前,父资源必须存在。 子资源的名称包括父名称。 例如,SQL 数据库可能定义为:

{
  "type": "Microsoft.Sql/servers/databases",
  "name": "[concat(variables('databaseServerName'), '/', parameters('databaseName'))]",
  ...

但是,如果未在服务器上指定依赖关系,数据库部署可能会在部署服务器之前开始。

解决方案

为更正此错误,请添加依赖关系。

"dependsOn": [
    "[variables('databaseServerName')]"
]

有关详细信息,请参阅定义 Azure 资源管理器模板中部署资源的顺序