Azure Service Bus主题作为Google PubSub Push Subscriber

时间:2019-07-15 18:40:48

标签: azure azureservicebus google-cloud-pubsub

要求是我们有一个Azure Service Bus主题,我们希望在Google PubSub主题中将其设置为“推送订阅者”。这样,发布到Google PubSub主题的所有消息都将被推送到Azure SB主题,而无需任何中间层。

在纸上这应该可行,因为可以使用API​​框架将消息发布到Azure SB主题,并且Google PubSub还可以将API配置为推送订阅者。

我阅读了以下文章,但无法进行此链接锻炼。

有人以前做过这种链接吗?

预先感谢

2 个答案:

答案 0 :(得分:1)

最好创建一个发布/订阅推送订阅,该订阅将推送到Azure Event Hub。配置此设置时,我遇到了同样的问题。

发布/订阅推送订阅目前不支持自定义授权标头,根据事件中心documentation,这是必需的。

POST https://your-namespace.servicebus.windows.net/your-event-hub/messages?timeout=60&api-version=2014-01 HTTP/1.1  
Authorization: SharedAccessSignature sr=your-namespace.servicebus.windows.net&sig=your-sas-key&se=1403736877&skn=RootManageSharedAccessKey  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Host: your-namespace.servicebus.windows.net  
  
{ "DeviceId":"dev-01", "Temperature":"37.0" }

所以我在这里看到的仅有两个选项:

  1. 推送设置:在Google Cloud中创建云功能或数据流作业。将发布/订阅事件推送到此终结点,然后使用适当的标题将事件传递到Azure事件中心。

  2. 拉设置:使用Azure函数或WebJob从Azure端轮询发布/订阅请求订阅。

两个选项都需要额外的计算资源,因此绝对不是首选的方式。我总是会首先尝试进行推送设置,因为那样您将无法在后台连续运行轮询作业。

我希望pub / sub push订阅在将来的任何地方都支持自定义标头。最近添加了一些其他有用的功能,例如:死信,消息排序和分区(精简主题)。希望他们也将添加自定义标头。

答案 1 :(得分:0)

我有一个解决此问题的方法。

1-您可以在Google云上创建云功能,该功能可以在Azure服务总线上为您推送数据。

2-您可以在azure上开发可连续运行的网络作业,并借助提供的连接字符串和google pub / sub支持库来检查google pub / sub主题。

从上述解决方案中,您可以从Google Cloud获取数据并推送到您的Azure Service Bus。