你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

服务总线资源管理器异常

本文列出了使用 Azure 资源管理器与 Azure 服务总线交互时生成的异常 - 通过模板或直接调用。

下面是通过 Azure 资源管理器显示的各种异常/错误。

错误:请求错误

“错误请求”表示 Resource Manager 收到的请求未能通过验证。

错误代码 错误子代码 错误消息 DESCRIPTION 建议
错误的请求 40000 子代码=40000。 创建队列时无法设置属性 “属性名称 ”,因为命名空间 “命名空间名称” 正在使用“基本”层。 此操作仅在“标准”或“高级”层中受支持。 在 Azure 服务总线基本层上,无法设置或更新以下属性 -
  • 需要重复检测
  • AutoDeleteOnIdle
  • RequiresSession
  • DefaultMessageTimeToLive
  • DuplicateDetectionHistoryTimeWindow
  • EnableExpress (高级版中也不支持)
  • ForwardTo
  • 主题
请考虑从基本层升级到标准层或高级层以使用此功能。
错误的请求 40000 子代码=40000。 无法更改现有队列(或主题)的“requiresDuplicateDetection”属性的值。 创建实体时必须启用/禁用重复检测。 创建后,无法更改重复的检测配置参数。 若要对以前创建的队列/主题启用重复检测,可以创建具有重复检测的新队列/主题,然后从原始队列转发到新的队列/主题。
错误的请求 40000 子代码=40000。 指定的值 16384 无效。 该属性 MaxSizeInMegabytes 必须是下列值之一:1024;2048;3072;4096;5120. MaxSizeInMegabytes 值无效。 确保 MaxSizeInMegabytes 是以下项之一 - 1024、2048、3072、4096、5120。
错误的请求 40000 子代码=40000。 无法更改队列/主题的分区。 无法更改实体的分区。 创建新的实体(队列或主题)并启用分区。
错误的请求 没有 命名空间 “命名空间名称” 不存在。 命名空间在 Azure 订阅中不存在。 若要解决此错误:
  • 确保 Azure 订阅正确。
  • 确保命名空间存在。
  • 验证命名空间名称是否正确(无拼写错误或 null 字符串)。
错误的请求 40000 子代码=40000。 提供的锁时间超过允许的最大“5”分钟。 可以锁定消息的时间必须介于 1 分钟(最小值)和 5 分钟之间(最大值)。 确保提供的锁定时间介于 1 分钟到 5 分钟之间。
错误的请求 40000 子代码=40000。 不能同时启用 DelayedPersistence 和 RequiresDuplicateDetection 属性。 启用重复检测的实体必须是持久性的,因此无法延迟持久性。 详细了解 重复检测
错误的请求 40000 子代码=40000。 无法更改现有队列的 RequiresSession 属性的值。 应在创建实体时启用对会话的支持。 创建后,无法在现有实体(队列或订阅)上启用或禁用会话。 删除并重新创建启用了“RequiresSession”属性的新队列(或订阅)。
错误的请求 40000 子代码=40000。 “URI_PATH”包含服务总线不允许的字符。 实体段只能包含字母、数字、句点(.)、连字符(-)和下划线(_)。 实体段只能包含字母、数字、句点(.)、连字符(-)和下划线(_)。 任何其他字符都会导致请求失败。 确保 URI 路径中没有无效字符。
错误的请求 40000 子代码=40000。 错误的请求。 想要了解更多,请访问 https://aka.ms/sbResourceMgrExceptions。 TrackingId:00000000-0000-0000-0000-000000000000_000, SystemTracker:contososbusnamesapce.servicebus.windows.net:myqueue, 时间戳:yyyy-mm-ddThh:mm:ss 尝试在非高级层命名空间中创建一个队列,并将值设置为该属性 maxMessageSizeInKilobytes时,会发生此错误。 只能为高级命名空间中的队列设置此属性。
错误的请求 40300 子代码=40300。 已达到或超过类型 EnablePartioning == true 的最大资源数。 每个命名空间的分区实体数有限制。 请参阅 配额和限制
错误的请求 40400 子代码=40400。 自动转发目标实体不存在。 自动转发目标实体的目标不存在。 在创建源之前,目标实体(队列或主题)必须存在。 创建目标实体后重试

错误代码:429

就像在 HTTP 中一样,“错误代码 429”表示请求过多。 这意味着特定资源(命名空间)由于请求过多(或由于该资源上的冲突操作)而被限制。

错误代码 错误子代码 错误消息 DESCRIPTION 建议
429 50004 子代码=50004。 请求已终止,因为命名空间 你的命名空间 正在被限流。 当传入请求数超过资源限制时,将达到此错误条件。 等待几秒钟,然后重试。

详细了解 配额Azure 资源管理器请求限制
429 40901 子代码=40901。 另一个有冲突的操作正在进行。 针对同一资源/实体的另一个有冲突操作正在进行 等待当前正在进行的操作完成后再重试。
429 40900 子代码=40900。 冲突。 在资源的当前状态下不允许所请求的操作。 同时发出多个请求来对同一实体(队列、主题、订阅或规则)执行操作时,可能会发生这种状况。 等待几秒钟,然后重试
429 40901 实体 “实体名称” 的请求与其他请求冲突 针对同一资源/实体的另一个有冲突操作正在进行 等待上一个操作完成后再试一次
429 40901 针对实体 <entity name> 的另一个更新请求正在进行。 针对同一资源/实体的另一个有冲突操作正在进行 等待上一个操作完成后再试一次
429 没有 发生资源冲突。 可能正在进行另一个有冲突的操作。 如果此操作是针对失败的操作进行的重试,则后台清理仍处于挂起状态。 请稍后重试。 如果同一实体存在挂起的操作,可能会出现此状况。 等待上一个操作完成后再重试。

错误代码:找不到

此类错误表示找不到资源。

错误代码 错误子代码 错误消息 DESCRIPTION 建议
未找到 没有 找不到实体 “实体名称 ”。 找不到要对其运行该操作的实体。 检查实体是否存在,并再次尝试该操作。
未找到 没有 找不到。 操作不存在。 您尝试执行的操作不存在。 检查操作,然后重试。
未找到 没有 传入请求无法被识别为命名空间策略的PUT请求。 传入的请求正文为 null,因此无法作为 put 请求执行。 检查请求正文以确保它不为 null。
未找到 没有 找不到消息实体 “实体名称 ”。 无法找到您尝试对其执行操作的实体。 检查实体是否存在,然后重试该操作。

错误代码:内部服务器错误

此类错误表示存在内部服务器错误。

错误代码 错误子代码 错误消息 DESCRIPTION 建议
内部服务器错误 50000 子代码=50000。 内部服务器错误 可能会出于各种原因而发生。 一些症状是 -
  • 客户端请求/正文损坏并导致错误。
  • 客户端请求因服务中出现处理问题而超时。
若要解决此错误:
  • 确保请求参数不为 null 或格式不正确。
  • 重试请求。

错误代码:未授权

此类错误表示缺少运行命令的授权。

错误代码 错误子代码 错误消息 DESCRIPTION 建议
未经 授权 没有 次级命名空间中的操作无效。 辅助命名空间处于只读状态。 操作针对次级命名空间执行,该命名空间已设置为只读。 针对主命名空间重试该命令。 详细了解 辅助命名空间
未经 授权 没有 MissingToken:找不到授权标头。 当授权具有 null 值或错误值时,会发生此错误。 确保授权标头中提到的令牌值正确且不为 null。