你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何排查常见的 Azure 部署错误,并提供有关解决方案的信息。 可以使用 Bicep 文件或 Azure 资源管理器模板(ARM 模板)部署 Azure 资源。 如果找不到部署错误的错误代码,请参阅查找错误代码。
如果未列出错误代码,请提交 GitHub 问题。 在页面右侧选择“反馈”。 在页面底部的“反馈”下,选择“此页”。 提供文档反馈,但不要包含机密信息,因为 GitHub 问题是公开的。
错误代码
| 错误代码 | 缓解操作 | 详细信息 | 
|---|---|---|
| 帐户名称无效 | 遵循存储帐户的命名规则。 | 解决存储帐户名称错误 | 
| AccountPropertyCannotBeSet | 检查可用的存储帐户属性。 | storageAccounts | 
| 分配失败 | 群集或区域没有可用的资源或无法支持所请求的 VM 大小。 稍后重试请求,或者请求不同的 VM 大小。 | Linux 预配和分配问题 Windows 预配和分配问题 排查分配失败 | 
| AnotherOperationInProgress | 等待并发操作完成。 | |
| 授权失败 | 帐户或服务主体没有足够的访问权限,无法完成部署。 检查帐户所属的角色及其在部署范围内的访问权限。 所需的资源提供程序未注册时,可能会收到此错误。 | Azure 基于角色的访问控制 (Azure RBAC) 解决注册问题 | 
| BadRequest | 发送的部署值与资源管理器预期的值不匹配。 检查内部状态消息,以帮助进行故障排除。 验证模板的语法,以解决使用从现有 Azure 资源导出的模板时出现的部署错误。 | 模板参考 ARM 模板中的资源位置 Bicep 文件中的资源位置 解决模板无效问题 | 
| 冲突 | 在资源的当前状态下不允许所请求的操作。 例如,仅当创建 VM 或该 VM 已解除分配时,才允许调整磁盘大小。 | |
| DeploymentActiveAndUneditable | 等待此资源组上的并发部署完成。 | |
| DeploymentFailedCleanUp | 在完整模式下部署时,模板中不存在的任何资源都将被删除。 当没有足够的权限删除模板中所有不存在的资源时,会出现此错误。 要避免此错误,请将部署模式更改为“增量”。 | Azure 资源管理器部署模式 | 
| DeploymentNameInvalidCharacters | 部署名称只能包含字母、数字、连字符 (-)、点(.)或下划线(_)。 | |
| DeploymentNameLengthLimitExceeded | 部署名称限制为 64 个字符。 | |
| 部署失败 | DeploymentFailed 错误为常规错误,未提供解决错误所需的详细信息。 请查看错误代码的错误详情,其中提供了详细信息。 | 查找错误代码 | 
| DeploymentQuotaExceeded | 如果达到每个资源组的部署数限制 800,则会从历史记录中删除不再需要的部署。 | 解决部署计数超过 800 时出现的错误 | 
| DeploymentJobSizeExceeded | 简化模板以减小大小。 | 解决模板大小错误 | 
| DnsRecordInUse | DNS 记录名称必须唯一。 输入不同的名称。 | |
| 图像未找到 | 检查 VM 映像设置。 | |
| InaccessibleImage | Azure 容器实例部署失败。 可能需要使用语法 registry/image:tag将图像的标记包含在内以部署容器。 对于专用注册表,请验证凭据是否正确。 | 查找错误代码 | 
| 内部服务器错误 | 由临时问题引起。 重试部署。 | |
| InUseSubnetCannotBeDeleted | 当你尝试更新资源时,如果请求进程删除并创建了资源,则可能会发生此错误。 确保指定所有未更改值。 | 更新资源 | 
| InvalidAuthenticationTokenTenant | 获取相应租户的访问令牌。 只能从帐户所属的租户获取该令牌。 | |
| 无效内容链接 | 很可能尝试过链接到不可用的嵌套模板。 再次确认为嵌套模板提供的 URI。 如果模板存在于存储帐户中,请确保 URI 可访问。 可能需要传递 SAS 令牌。 目前,无法链接到位于 Azure 存储防火墙后面的存储帐户中的模板。 请考虑将模板移到其他存储库,如 GitHub。 | 链接的和嵌套的 ARM 模板 Bicep 模块 | 
| InvalidDeploymentLocation | 在订阅级别部署时,你为以前使用的部署名称提供了不同的位置。 | ARM 模板订阅部署 Bicep 订阅部署 | 
| 无效参数 | 为资源提供的某个值与预期值不匹配。 此错误可能由许多不同的状况造成。 例如,密码强度可能不足,或者 Blob 名称可能不正确。 错误消息应表明哪个值需要更正。 | ARM 模板参数 Bicep 参数 | 
| 无效请求内容 | 部署值包含无法识别的值,或者缺少必需的值。 确认资源类型的值。 | 模板参考 | 
| 请求格式无效 | 在运行部署时启用调试日志记录功能,并验证请求的内容。 | 调试日志记录 | 
| InvalidResourceLocation | 为存储帐户提供唯一名称。 | 解决存储帐户名称错误 | 
| InvalidResourceNamespace | 检查在 type 属性中指定的资源命名空间。 | 模板参考 | 
| 无效的资源引用 | 资源尚不存在,或错误地引用了它。 检查是否需要添加依赖项。 验证所用的 reference 函数是否包含方案所需的参数。 | 解决依赖项问题 | 
| InvalidResourceType | 检查在 type 属性中指定的资源类型。 | 模板参考 | 
| InvalidSubscriptionRegistrationState | 将订阅注册到资源提供程序。 | 解决注册问题 | 
| 模板部署无效 无效模板 | 检查模板语法是否有错误。 | 解决模板无效问题 | 
| InvalidTemplateCircularDependency | 删除不必要的依赖项。 | 解决循环依赖项 | 
| JobSizeExceeded | 简化模板以减小大小。 | 解决模板大小错误 | 
| LinkedAuthorizationFailed | 检查帐户所属的租户是否与要部署到的资源组所属的租户相同。 | |
| LinkedInvalidPropertyId | 无法解析资源的资源 ID。 检查是否为资源 ID 提供了所有必需值。 例如,订阅 ID、资源组名称、资源类型、父资源名称(如果需要)和资源名称。 | 解决资源名称和类型的错误 | 
| LocationRequired | 提供资源的位置。 | ARM 模板中的资源位置 Bicep 文件中的资源位置 | 
| MismatchingResourceSegments | 请确保嵌套资源的名称和类型中包含正确数量的段。 | 解决资源段 | 
| MissingRegistrationForLocation | 检查资源提供程序注册状态和支持的位置。 | 解决注册问题 | 
| MissingSubscriptionRegistration | 将订阅注册到资源提供程序。 | 解决注册问题 | 
| 未找到注册的供应商 | 检查资源提供程序注册状态。 | 解决注册问题 | 
| 未找到 | 你可能在尝试部署与父资源并行的依赖资源。 检查是否需要添加依赖项。 | 解决依赖项问题 | 
| OperationNotAllowed | 出现此错误消息可能有多种原因。 1. 部署正在尝试执行一个指定 SKU 上不允许的操作。 2. 部署正在尝试执行一个超过了订阅、资源组或区域配额的操作。 如果可能,请修改部署,以保持在配额范围内。 否则,请考虑请求更改配额。 | 解决配额问题 | 
| OperationNotAllowedOnVMImageAsVMsBeingProvisioned | 你可能正在尝试删除当前用于预配 VM 的映像。 在部署过程中,不能删除任何虚拟机正在使用的映像。 在 VM 部署完成后重试映像删除操作。 | |
| ParentResourceNotFound | 确保在创建子资源之前父资源已存在。 | 解决父资源问题 | 
| 密码太长 | 你可能选择了包含太多字符的密码,或在将密码值作为参数传递之前将其转换成了一个安全字符串。 如果模板包括一个安全字符串参数,则不需要将值转换为安全字符串。 请以文本形式提供密码值。 | |
| PrivateIPAddressInReservedRange | 指定的 IP 地址包括 Azure 所需的地址范围。 更改 IP 地址以避免保留的范围。 | 专用 IP 地址 | 
| 私有 IP 地址不在子网内 | 指定的 IP 地址超出子网范围。 更改 IP 地址,使之在子网范围内。 | 专用 IP 地址 | 
| PropertyChangeNotAllowed | 已部署资源上的某些属性不能更改。 更新资源时,请限制为对允许的属性进行更改。 | 更新资源 | 
| 已达到公共IP数量限制 | 已达到运行公共 IP 数的限制。 关闭不需要的资源,或联系 Azure 支持部门以请求增加资源。 例如,在 Azure Databricks,请参阅意外的群集终止和 IP 地址限制阻止群集创建。 | 公共 IP 地址限制 | 
| RegionDoesNotAllowProvisioning | 选择不同的区域,或提交有关“区域访问权限”的配额支持请求。 | |
| RequestDisallowedByPolicy | 订阅包含阻止尝试在部署期间执行的操作的资源策略。 查找阻止该操作的策略。 如果可能,请更改部署,使之符合策略的限制。 | 解决策略问题 | 
| 预留资源名称 | 提供不包含保留名称的资源名称。 | 保留的资源名称 | 
| ResourceGroupBeingDeleted | 等待删除操作完成。 | |
| 资源组未找到 | 检查部署的目标资源组的名称。 目标资源组必须已存在于订阅中。 检查订阅上下文。 | Azure CLIPowerShell | 
| 资源未找到 | 部署引用了一个无法解析的资源。 验证所用的 reference 函数是否包含方案所需的参数。 | 解决引用问题 | 
| ResourceQuotaExceeded | 部署尝试创建的资源超过了订阅、资源组或区域的配额。 如果可能,请修改基础结构,以保持在配额范围内。 否则,请考虑请求更改配额。 | 解决配额问题 | 
| SkuNotAvailable | 选择可在所选位置中使用的 SKU(例如 VM 大小)。 | 解决 SKU 问题 | 
| StorageAccountAlreadyTaken StorageAccountAlreadyExists | 为存储帐户提供唯一名称。 | 解决存储帐户名称错误 | 
| StorageAccountInAnotherResourceGroup | 为存储帐户提供唯一名称。 | 解决存储帐户名称错误 | 
| 存储账户未找到 | 检查尝试使用的存储帐户的订阅、资源组和名称。 | |
| SubnetsNotInSameVnet | 一个虚拟机只能有一个虚拟网络。 部署多个 NIC 时,请确保它们属于同一虚拟网络。 | Windows VM 多 NIC Linux VM 多 NIC | 
| SubnetIsFull | 子网中没有足够的可用地址,无法部署资源。 可以从子网中释放地址,使用其他子网,或者创建一个新子网。 | 管理子网和虚拟网络常见问题解答 专用 IP 地址 | 
| 找不到订阅 | 无法访问用于部署的指定订阅。 可能是订阅 ID 错误,部署模板的用户没有足够的权限部署到订阅,或者订阅 ID 格式错误。 使用 ARM 模板嵌套部署进行跨范围部署时,请提供订阅的 GUID。 | ARM 模板跨范围部署 Bicep 文件跨范围部署 | 
| SubscriptionNotRegistered | 部署资源时,必须为订阅注册资源提供程序。 使用 Azure 资源管理器模板进行部署时,会在订阅中自动注册资源提供程序。 有时,自动注册未及时完成。 要避免此间歇性错误,请在部署前注册资源提供程序。 | 解决注册问题 | 
| SubscriptionRequestsThrottled | Azure 资源管理器在订阅级别或租户级别限制请求。 资源提供程序(如 Microsoft.Compute)还会限制特定于其操作的请求。达到限制时,你会收到一条消息和在发送新请求之前应等待的时间值。 例如: Number of requests for subscription '<subscription-id-guid>' and operation '<resource provider>' exceeded the backend storage limit. Please try again after '6' seconds.HTTP 响应返回类似 HTTP status code 429 Too Many Requests的消息,其中包含一个Retry-After值,该值指定了在发送另一个请求之前要等待的秒数。 | 限制资源管理器请求 排查 API 限制错误 - 虚拟机 Azure Kubernetes 服务限制 | 
| TemplateResourceCircularDependency | 删除不必要的依赖项。 | 解决循环依赖项 | 
| TooManyTargetResourceGroups | 减少单个部署的资源组数。 | ARM 模板跨范围部署 Bicep 文件跨范围部署 |