在本地模拟 Azure 服务总线

sou*_*uth 8 azure azureservicebus

我想在本地模拟 Azure 服务总线进行测试。

原始代码如下所示:

var client = new QueueClient("Endpoint=sb://host/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey="xxx",
                "myqueue");
await client.SendAsync(message);
Run Code Online (Sandbox Code Playgroud)

消息将通过 ServiceBusTrigger 在 AzureFunction 中接收。

我相信可以将 Endpoint 更改为 localhost,然后建立一个在 localhost 上侦听的服务器来接收和转发消息。但我该怎么办呢?

首先,Microsoft.Azure.ServiceBusSDK是否使用AMQP协议发送消息?那么,我必须建立一个处理 AMQP 消息的服务吗?

搜索文档后,Service Bus 似乎还支持 REST 方式发送消息。我们可以在Microsoft.Azure.ServiceBusSDK 中做到这一点,以便我可以轻松构建一个 http 服务器来处理消息。

这项任务确实需要一些想法。