C#作为Azure事件中心的发送者,而python作为接收者

问题描述 投票:0回答:1

我有一个连接到Azure事件中心的IoT设备。我试图使该设备与azure数据块通信,并将azure事件中心作为中间件放置在它们之间。问题在于,在我们能够通过“ .NET Framework”发送消息之后,它从未在“ python”命令行中接收到的消息中显示(我们应该这样做,因为我们分别为每个部分工作)

我遵循了.NET framework as senderpython as receiver准则,但这不起作用。

我看到事件中心流实例下的请求和消息图中有峰值,但它从未在接收器中显示

==================================更新============== =====================

刚刚删除了eventhub并重新创建,似乎可以正常工作。

但是,以长字符串形式接收消息,如下所示:

Received: 662a2a44-4414-4cb5-a9e9-a08d12a417e0
Received: b68ef8f8-305f-4726-84e4-f35b76de30c5
Received: e94dfb73-972c-47b4-baef-1ab41b06be28
Received: 8eda384d-f79d-4cdf-9db3-fe5c2156553b
Received: d154283f-a8c2-4a4c-a7d5-e8d8129b568d
Received: 3e3e190e-f883-416c-a5be-b8cd8547d152
Received: e218c63b-85b3-4f4f-8f04-cb5ffc6d8921
Received: 0adec5ad-e351-4151-ba56-01093e0f383d
Received 8 messages in 0.05406975746154785 seconds

当我阅读以下格式的消息时会发生这种情况:

print("Received: {}".format(event_data.body_as_str(encoding='UTF-8')))

message azure-eventhub
1个回答
0
投票

我只是尝试一下,我可以为您解决问题。这是您需要检查的内容。

1。在您的发件人(在c#中)中,您应确保要发送的消息正确无误。如下所示:

    static void SendingRandomMessages()
    {
        var eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, eventHubName);
        int i = 0;
        while (true)
        {
            try
            {
                // make sure the message is correct.
                var message = i+":"+Guid.NewGuid().ToString()+":"+DateTime.Now;

                Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message);
                var myeventdata = new EventData(Encoding.UTF8.GetBytes(message));
                eventHubClient.Send(myeventdata);
                i++;
                //eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message)));
            }
            catch (Exception exception)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("{0} > Exception: {1}", DateTime.Now, exception.Message);
                Console.ResetColor();
            }

            Thread.Sleep(2000);
        }
    }

2。接收器(在python中)似乎有些延迟,因此我执行python接收器约3次,并且可以看到预期的输出。屏幕截图如下:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.