Azure 事件中心的 HTTPS 端点

Posted

技术标签:

【中文标题】Azure 事件中心的 HTTPS 端点【英文标题】:HTTPS endpoint of Azure event hub 【发布时间】:2022-01-13 15:23:45 【问题描述】:

我正在使用只能使用 webhook 发送消息的服务。我可以在该 webhook 中设置的唯一内容是 HTTP 端点、用户名和密码(您可以在下面的屏幕截图中看到它)。我想向我的事件中心发送消息,但我不知道如何找到它的 HTTP 端点。我唯一能找到的是 SAS Endpoint。

【问题讨论】:

Azure 事件中心客户端 sdk 提供了通过连接字符串和事件中心名称连接到事件中心命名空间的方法。该特定事件中心没有直接的 https 端点。您可能需要编写一个向事件中心发送消息的函数应用,并在上面的配置屏幕中提供您的函数应用 https url。 【参考方案1】:

事件中心提供了一个 REST API,允许您执行其 AMQP API 支持的部分操作。可以通过 REST 发布基本事件,并将使用端点:https://servicebusNamespace.servicebus.windows.net/eventHubPath/messages

完整的 REST API 文档集可以在 here 找到,发送事件的细节可以在 here 找到。

【讨论】:

我不确定我是否理解正确,但要使用它,我需要使用 SAS 令牌作为授权方法。我可以用于授权的唯一参数是用户名和密码。我应该将 SAS 令牌插入 HTTP 端点吗? REST 端点不支持基本身份验证;如果您无法添加自定义标头以便传递所需的令牌,那么 Aanand 提出的建立您自己的 HTTP 端点然后转发事件的建议将是您最好的选择。 我发现可以在这个 webhook 中使用令牌授权。但是,我已经尝试了 SAS Policy 中的主键和辅助键,但没有成功。你知道如何在 http 消息中传递 sas 令牌吗? 它们是通过标准的HTTP头机制传递的;我上面包含的第一个链接包含授权详细信息。

以上是关于Azure 事件中心的 HTTPS 端点的主要内容,如果未能解决你的问题,请参考以下文章

Azure 事件中心偏移

Azure 事件中心吞吐量

Azure 事件中心 python 中 SAS 令牌的连接字符串

使用 Python Qpid/Proton/Messenger(),如何过滤来自 Azure 事件中心的消息?

在 Azure 事件中心/blob 存储中查询事件

从 Azure 事件中心获取事件后,是不是应该将它们放入队列中?