Использование Stream Analytics для передачи данных из IoT Hub в Cosmos DB дает ошибку раздела - PullRequest
0 голосов
/ 27 марта 2019

Я хочу перенести данные из моего IoT Hub в базу данных Cosmos и таблицу хранения с помощью Stream Analytics.Таблица хранения идет хорошо.Однако моя потоковая аналитика выдает мне следующую ошибку преобразования данных в журнале операций:

"Выходная запись не содержит столбец« deviceId »(чувствительный к регистру) для использования в качестве свойства ключа раздела. По умолчаниюAzure Stream Analytics повторяет попытку записи события на неопределенный срок до тех пор, пока запись не будет успешно завершена. Попробуйте пропустить такие политики удаления ошибок вывода, чтобы пропустить такие ошибки, чтобы ошибка не блокировала выполнение задания. Произошла ошибка после записи [0] пакетов. "

deviceId - мой ключ раздела в моей базе данных космоса.Я вижу, что данные правильно передаются в потоковую аналитику.Вот пример ввода:

[{"deviceId":1,"dateStamp":"2019-03-27T18:55:43.3546682Z","temperature":6.510664596692969,"EventProcessedUtcTime":"2019-03-27T18:58:41.6172586Z","PartitionId":1,"EventEnqueuedUtcTime":"2019-03-27T18:55:43.3450000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"Simulator","ConnectionDeviceGenerationId":"636891216524279053","EnqueuedTime":"2019-03-27T18:55:43.3370000Z","StreamId":null}},
{"deviceId":1,"dateStamp":"2019-03-27T18:56:43.3809346Z","temperature":5.5680961758215428,"EventProcessedUtcTime":"2019-03-27T18:58:41.6172586Z","PartitionId":1,"EventEnqueuedUtcTime":"2019-03-27T18:56:43.3640000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"Simulator","ConnectionDeviceGenerationId":"636891216524279053","EnqueuedTime":"2019-03-27T18:56:43.3690000Z","StreamId":null}},
{"deviceId":1,"dateStamp":"2019-03-27T18:57:43.4122929Z","temperature":5.07182001605249,"EventProcessedUtcTime":"2019-03-27T18:58:41.6172586Z","PartitionId":1,"EventEnqueuedUtcTime":"2019-03-27T18:57:43.4050000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"Simulator","ConnectionDeviceGenerationId":"636891216524279053","EnqueuedTime":"2019-03-27T18:57:43.4010000Z","StreamId":null}}]

Мой запрос SQL API следующий: ColdStorageSmartFridge - это таблица хранения, а HotStorageSmartFridge - это cosmosdb:

SELECT
    deviceId,
    dateStamp as time,
    temperature
INTO
    [ColdStorageSmartFridge]
FROM
    [IoTHubSmartFridge]

SELECT 
    deviceId,
    dateStamp,
    temperature    
INTO
    [HotStorageSmartFridge]
FROM
    [IoTHubSmartFridge]

У меня естьработал над этим целый день и не мог заставить его работать.Чего мне не хватает?

1 Ответ

2 голосов
/ 28 марта 2019

Кажется, ваш ключ раздела чувствителен к регистру. Ранее Azure Stream Analytics в нижнем регистре различала поля. Хотя это и не было ожидаемым поведением, мы не хотели вносить существенное изменение в службу, поэтому было выпущено исправление под « уровень совместимости 1.1 ».

Можете ли вы попытаться изменить уровень соответствия задания на 1.1 и сообщить мне, если это решит вашу проблему.

Мы изменим уровень компа по умолчанию в ближайшем будущем.

...