я отправить данные на IoT Hub и получить его, он работает, но я не знаю, как я могу работать с полученными данными: вот мой код, чтобы получить данные:Accses к данным IoT Hub Azure с Java
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())));
DataOutput является: продукт: х, цена: 2.3. Я хотел бы взять данные для:
String product= product;
double price= price;
Как я могу принимаемый Payload сохранить в переменной?
Благодаря
Можете ли вы предоставить дополнительную информацию о том, как вы пытаетесь получить данные? Вы можете найти эту статью полезной, которая описывает как отправку, так и получение данных в концентратор IoT с использованием Java SDK: https://azure.microsoft.com/documentation/articles/iot-hub-java-java-getstarted/ –
Это работает! спасибо @ Peter Pan и Domic Betts – ofitz