【问题标题】:Azure ServiceBus: limitations to send a batch via the REST API?Azure ServiceBus:通过 REST API 发送批次的限制?
【发布时间】:2017-10-27 23:50:42
【问题描述】:

我正在使用 Azure 服务总线 REST API 向主题发送一批消息。 我的命名空间是“标准”SKU,这意味着我的最大消息大小为 256KB。

使用批量发送时,听起来限制是每批次(批次最大为 256KB)而不是每条消息。文档中没有真正解释任何内容,对吗?

不幸的是,我收到的是“错误请求”错误,而不是“超出配额或消息太大”。错误(状态 403)。

我想知道我是否在这里遗漏了什么,或者批处理大小是否也限制为 256KB? 为什么在这种情况下我没有收到 403 错误?

谢谢。

【问题讨论】:

  • 我找不到文档,但批处理大小限制为 256KB。此外,当授权出现问题时,您应该会收到 403 错误。由于这是用户错误,您将收到错误的请求错误。 stackoverflow.com/questions/31045100/…
  • 您好,在文档中,403 错误被描述为“超出配额或消息太大”(此处为文档docs.microsoft.com/en-us/rest/api/servicebus/…)。
  • 有关信息,文档有误,API 返回的是 413 http 代码而不是 403。

标签: rest azure azureservicebus


【解决方案1】:

批处理的处理方式与单个消息没有区别。这是一个有效载荷。标准层的有效负载不能超过 256KB(高级层为 1MB)。批量 dodo 不能包含超过 100 条消息。

您可以在我的blog post 中找到有关该主题以及如何处理它的更多信息。

【讨论】:

  • 现在 Azure 高级版最多可以占用 100 MB 的消息,您认为批量大小仍然可以是 100 MB 吗?我使用最新的 C# SDK 尝试了我的 PoC,但它仍然不能每批推送超过 1 MB。但是,我已将每条消息的大小设置为 20 MB,并尝试增加到 100 MB。似乎,SDK 文档并不清楚有什么限制。如果您有详细信息,请您分享一下吗?
  • 您使用的是什么批处理 API?
  • Azure.Messaging.ServiceBus -> 我尝试了 SendMessagesAsync。使用重载 ServiceBusMessageBatch 以及 IEnumerable。
  • 批量处理doesn't support大消息。
猜你喜欢
  • 2013-09-04
  • 1970-01-01
  • 2017-07-04
  • 1970-01-01
  • 2023-01-26
  • 2021-09-30
  • 2017-05-22
  • 2019-08-22
  • 1970-01-01
相关资源
最近更新 更多