gpt4 book ai didi

Azure服务总线AMQP异常

转载 作者:行者123 更新时间:2023-12-02 03:29:44 26 4
gpt4 key购买 nike

我使用此网址 http://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-jms-api-amqp/ 中的示例。我有两个问题:

<强>1。 ACS 或 SAS

连接 URL,

amqps://[username]:[password]@[namespace].servicebus.windows.net

用户名和密码来自 ACS 身份验证,但 Azure 服务总线已将其身份验证从 ACS 更改为 SAS。它还支持 SAS 身份验证吗?就像用户名是 SAS 策略一样,密码是 SAS 策略的 key 。

<强>2。运行抛出异常

即使我使用 ACS(如果我使用 powershell 创建命名空间,它仍然是 ACS)或 SAS,在运行 http://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-jms-api-amqp/ 中的示例代码时,它们都抛出异常并失败。

Exception:"org.apache.qpid.amqp_1_0.client.Sender$SenderCreationException:
Peer did not create remote endpoint for link".

有什么办法可以解决这个问题吗?

顺便说一句,我连接的不是 Windows 服务总线(本地),而是 Azure 服务总线(云)。谢谢。

最佳答案

回复:1.ACS 或 SAS

是的,您可以将 SAS 与 AMQP 结合使用。策略名称代替用户名,URL 编码 key 代替密码。需要 URL 编码来将键值中的任何非字母数字字符处理为 +、/或 =。

网址格式为:

amqps://<policyname>:<urlencoded(key)>@<namespace>.servicebus.windows.net

RE:2.运行抛出异常

确保您的队列未启用分区。 ServiceBus 不支持带有分区队列的 AMQP,但是默认情况下会在创建队列时启用分区。

我遇到了完全相同的错误,并且在未选中“启用分区”的情况下重新创建队列为我解决了这个问题。

请参阅本文底部的分区实体限制部分:https://msdn.microsoft.com/en-us/library/azure/dn520246.aspx

Partitioned queues and topics are only available via SBMP or HTTP/HTTPS. AMQP support will be added in the future.

关于Azure服务总线AMQP异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27692070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com