#azure #beagleboneblack #node-red #azure-stream-analytics #azure-iot-hub
#лазурный #beagleboneblack #узел-красный #azure-stream-аналитика #azure-iot-хаб
Вопрос:
Я пытаюсь получить простые данные JSON из моего BeagleBoneBlack в мою базу данных SQL Azure. Я не запустил отправку этого сообщения в центр интернета вещей:
{ "deviceId": "device001",
"key": "LvZdO3O/W5AnuD5zddEHZtCTDmCZwtlDeuN86LSI==",
"protocol": "amqp", "data": "{data1: 25, data2: 20}" }
Вот документация о том, почему сообщение форматируется таким образом: http://flows.nodered.org/node/node-red-contrib-azure-iot-hub
Кажется, я получаю сообщения от IoT Hub без проблем. Я могу отслеживать количество полученных сообщений, но, возможно, я их не вижу.
Итак, здесь вступает в действие потоковая аналитика. Я протестировал как свои входные данные (концентратор Интернета вещей), так и выходные данные (база данных SQL).
Это запрос, который я выполняю:
SELECT
*
INTO
[dbOutput]
FROM
[theoracareBBBinput]
И моя таблица настроена на получение data1 и data2, подобных их отправке. Я могу запустить задание без проблем, но в базе данных ничего не сохраняется. Между тем я знаю, что сообщения поступают из центра Интернета вещей.
Когда я загружаю образцы данных, мой запрос возвращает результаты точно так, как ожидалось.
Я пытался «выборку данных из входных данных», но каждый раз, когда я пытаюсь, я получаю «Произошла ошибка при обработке вашего запроса. Пожалуйста, повторите попытку через несколько минут.
Что я здесь упускаю из виду?
Комментарии:
1. Не удалось продолжить отправку сообщений в центр интернета вещей, пока вы пытались «извлечь данные из входных данных» ?
2. При запуске задания вы видите какие-либо ошибки в журнале операций? На странице мониторинга вы видите, что какие-либо входные события считываются? Эти два первых шага для отладки таких случаев.
3. Как предположил Виньеш, вам следует проверить наличие ошибок, но это «И моя таблица настроена на получение данных 1 и данных 2, как и при их отправке». из вашего вопроса следует, что вам может потребоваться удалить вложенные данные 1 и данные 2 из данных поля, которые являются записью. Что-то вроде этого:
SELECT i.data.data1, i.data.data2, i.* INTO [dbOutput] FROM [theoracareBBBinput] as i
. Если вы простоSELECT *...
, схема вывода не будет содержать полей с именами data1 и data2.