【问题标题】:Azure Stream Analytics output to Azure Cosmos DBAzure 流分析输出到 Azure Cosmos DB
【发布时间】:2019-04-17 03:06:54
【问题描述】:

流分析作业(到 CosmosDB 输出的 iot 集线器)“启动”命令失败并出现以下错误。

[12:49:30 PM] 源 'cosmosiot' 出现了 1 次 kind 处理之间的“OutputDataConversionError.RequiredColumnMissing” 次 '2019-04-17T02:49:30.2736530Z' 和 '2019-04-17T02:49:30.2736530Z'.

我按照说明进行操作,但不确定是什么导致了此错误。 请问有什么建议吗?这是 CosmosDB 查询:

SELECT
[bearings temperature],
[windings temperature],
[tower sway],
[position sensor],
[blade strain gauge],
[main shaft strain gauge],
[shroud accelerometer],
[gearbox fluid levels],
[power generation],
[EventProcessedUtcTime],
[EventEnqueuedUtcTime],
[IoTHub].[CorrelationId],
[IoTHub].[ConnectionDeviceId]
INTO
cosmosiot
FROM
TurbineData 

【问题讨论】:

  • 这可能是属性名称区分大小写的问题吗?在 ASA v1.0 中,输出属性名称是小写的。在 v1.1 中,它们不是。这可能会导致与您的(区分大小写的)Cosmos DB 属性名称不匹配。您可以通过查看您的 ASA 作业设置进行检查(其中一个选项卡用于兼容性级别)
  • 运气不好,大卫。我仍然遇到同样的错误
  • 如果您编辑问题以显示您的 ASA 查询以及您在 Cosmos DB 中为您的集合定义的内容,将会有所帮助。
  • 有关上述错误的其他详细信息以及输出事件有效负载的一部分应包含在诊断日志中。您能否启用诊断日志并查看那里的其他详细信息是否有帮助?另外,您是否仍会收到输出事件,或者这会影响所有输出事件吗?
  • 嗨,David,我再次尝试创建 IOT 设备模拟解决方案加速器。流分析作业(iot hub 到 cosmosdb)与实时数据完美配合。历史数据的问题仍然存在(自定义计划设置过去的日期/时间)。

标签: database azure jobs azure-iot-hub azure-stream-analytics


【解决方案1】:

如果您在查询中指定字段(即Select Name, ModelNumber ...)而不是仅使用Select * ...,则在使用兼容级别1.0 时,字段名称默认转换为小写,这会导致Cosmos DB 失效。在门户中,如果您打开流分析作业并转到“配置”部分下的“兼容性级别”并选择应该可以解决问题的 v1.1 或更高版本。您可以在此处阅读有关流分析文档中兼容性级别的更多信息:https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-compatibility-level

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多