Невозможно обновить коллекцию Cosmos DB заданием Azure Stream Analytics, если для коллекции установлено значение ON для ON.
У меня есть задание потоковой аналитики, которое будет выгружать данные из BLOB-объекта в базу данных Cosmos.
Во время выполнения задания я получаю сообщение об ошибке ниже, и коллекция Cosmos DB не обновляется.
Ошибка:
[10:20:57 AM] Source 'signalData' had 1 occurrences of kind 'OutputDataConversionError.RequiredColumnMissing' between processing times '2019-06-27T04:50:57.4433960Z' and '2019-06-27T04:50:57.4433960Z'.
Ниже приведено аналитическое задание SQL in Stream.
SELECT
*
INTO
[signalData]
FROM
[signalDataBlob]
Эта функция аналитики потока работает нормально и обновляет коллекцию космоса, если я сохраняю TTL как OF. Проблема только, когда TTL включен. Уровень совместимости, выбранный для задания аналитики Azure Stream, - v1.1.
Это не повторяющийся вопрос, так как есть много вопросов, связанных с этой ошибкой. Но в моем случае это происходит только тогда, когда значение TTL меняется с OFF на ON.
Ниже приведены данные, которые я пытаюсь обновить в космос БД.
[
{
"id": "Z5002XXXXX",
"type": "SIGNAL",
"time": 1557302250,
"abc": 35.0,
"def": 136,
"ijk": 161,
"xyz": 88,
"id": "432a0719-e1c8-e53a",
"_rid": "3rEvAJlPHSA==",
"_self": "dbs/3rEvAA==/colls/3rEvAJlPHSA=/docs/3rEvAJlPHSA==/",
"_etag": "\"2600ce55-0000-2300-0000-5cf1129\"",
"_attachments": "attachments/",
"_ts": 1559302815
}
]
1 ответ
- Вы устанавливаете TTL на уровне контейнера?
- Какое значение это? Если значение слишком низкое, предметы могут истечь, прежде чем вы обнаружите.
- Под "обновленным" вы имеете в виду, что в CosmosDB нет событий, приземляющихся?
- Есть ли какие-либо выходные события в задании Stream Analytics (метрика портала)?
- Выбрать * и RequiredColumnMissing сложно для диагностики, поскольку у вас могут быть разные столбцы для каждого события или случай может отличаться. Можете ли вы заменить точные имена столбцов для устранения неполадок?