Microsoft Azure 服务总线/事件中心:没有消息,只有请求

Axe*_*lle 1 azure azureservicebus azure-eventhub

我通过 HTTP POST 将消息发送到我的 Azure 事件中心(与 IoT 中心和 Blob 存储一起使用)。

这些是 HTTP 调用的设置:
http调用

每次我发送消息时,都会收到请求,但没有消息。
天蓝色的会议

我试过了:

  • 不同的 SAS 密钥和所有者
  • 不同的标题以及无标题

找到这个问题后我添加了标题。我还确保检查了权限,正如那里所建议的那样,但它们已经设置为必要的级别。

值得注意的是:由于某种原因,它确实可以在原始设置下工作一次(在第一张图片上以黄色标记)。
在职的

我的问题:
1. 我是否需要手动添加同名的服务总线端点?我假设当您创建事件中心时,它会自动为您创建服务总线。
2. 难道我看到的请求实际上与我发送的消息无关?
3.我这个配置错了吗?

Axe*_*lle 5

在做了更多研究并尝试了不同的方法之后,这似乎是对我有用的方法:

作为端点,您需要使用

https://{servicebus-name}.servicebus.windows.net/{eventhub-name}/messages
Run Code Online (Sandbox Code Playgroud)

而不是仅仅

https://{servicebus-name}.servicebus.windows.net/
Run Code Online (Sandbox Code Playgroud)

内容类型和内容编码标头以及另一个标头似乎都是必要的:

host: {servicebus-name}.servicebus.windows.net;
Run Code Online (Sandbox Code Playgroud)

在 Microsoft Docs 中,他们添加了稍微不同的标头并使用不同的 URL,但这对我不起作用。确实如此。

回答我自己的问题,以防将来可以帮助别人:

  1. 我是否需要手动添加同名的服务总线端点?我假设当您创建事件中心时,它会自动为您创建服务总线。

您不需要手动添加服务总线,但是您无法配置自动为您创建的服务总线。SharedAccessAuthorizationRules 只能应用于命名空间及其子命名空间,目前不支持将它们直接应用于服务总线。

  1. 难道我看到的请求实际上与我发送的消息无关?

并非所有请求都是消息,这是正常的,但在监视活动后,它确实指出我收到的请求与我的设备发送消息直接相关。

  1. 我这个配置错了吗?

是的。