使用来自IoT Hub Azure和Java的数据

时间:2016-06-20 15:32:35

标签: java azure cloud iot azure-iot-hub

我将数据发送到IoT Hub并接收它,它可以工作,但我不知道我如何使用收到的数据:这是我的代码接收数据:

public void accept(PartitionReceiver receiver)
            {
                System.out.println("** Created receiver on partition " + partitionId);
                try {
                    while (true) {
                        Iterable<EventData> receivedEvents = receiver.receive(10).get();
                        int batchSize = 0;
                        if (receivedEvents != null)
                        {
                            for(EventData receivedEvent: receivedEvents)
                            {                                    
                                System.out.println(String.format("| Time: %s", receivedEvent.getSystemProperties().getEnqueuedTime()));
                                System.out.println(String.format("| Device ID: %s", receivedEvent.getProperties().get("iothub-connection-device-id")));
                                System.out.println(String.format("| Message Payload: %s", new String(receivedEvent.getBody(), Charset.defaultCharset())));
                                batchSize++;
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    System.out.println("Failed to receive messages: " + e.getMessage());
                }
            }

我想使用收到的数据,这里我将数据变为JSON字符串:

System.out.println(String.format("| Message Payload: %s", new String(receivedEvent.getBody(), Charset.defaultCharset())));

数据输出为:产品:xy,价格:2.3。 我想把数据带到:

String product= product;
double price= price;

如何将收到的Payload保存在变量中?

由于

1 个答案:

答案 0 :(得分:2)

有两种消息,包括device-to-cloudcloud-to-device

对于第一类device-to-cloud消息,如@DominicBetts所述,您可以参考Receive device-to-cloud messages部分了解如何使用与Event Hub兼容的端点接收d2c消息。有两个样本作为GitHub的参考,请参见下文。

  1. Simple send/receive sample:显示如何连接然后从IoT Hub发送和接收消息,并将您选择的协议作为参数传递。
  2. Simple sample handling messages received ::显示如何连接到IoT Hub并管理从IoT Hub收到的消息,并将您选择的协议作为参数传递。
  3. 对于第二种cloud-to-device消息,您可以参考Receiving messages on the simulated device部分了解如何接收c2d消息。本文中的示例代码是针对C#编写的,但我认为使用Java而不是C#很简单,请注意选择合适协议的部分中的注释。