注意
时序见解服务将于 2024 年 7 月 7 日停用。 请考虑尽快将现有环境迁移到备用解决方案。 有关弃用和迁移的详细信息,请访问我们的 文档。
下表列出了 Azure 时序见解第 2 代支持的数据类型
| 数据类型 | 描述 | 例 | 时序表达式语法 | Parquet 中的属性列名称 | 
|---|---|---|---|---|
| 布尔 | 数据类型有两种状态之一: true或false。 | "isQuestionable" : true | $event.isQuestionable.Bool或$event['isQuestionable'].Bool | isQuestionable_bool | 
| 日期/时间 | 表示一个特定时刻,通常表述为日期和时间。 以 ISO 8601 格式 表示。 日期/时间属性始终以 UTC 格式存储。 时区偏移量(如果格式正确)将被应用,然后该值将以 UTC 格式存储。 有关环境时间戳属性和日期时间偏移的详细信息,请参阅第 部分中的第 节。 | "eventProcessedLocalTime": "2020-03-20T09:03:32.8301668Z" | 如果“eventProcessedLocalTime”是事件源时间戳: $event.$ts。 如果是另一个 JSON 属性:$event.eventProcessedLocalTime.DateTime或$event['eventProcessedLocalTime'].DateTime | eventProcessedLocalTime_datetime | 
| 双 | 双精度 64 位数字 | "value": 31.0482941 | $event.value.Double或$event['value'].Double | value_double | 
| 长 | 带符号 64 位整数 | "value" : 31 | $event.value.Long或$event['value'].Long | value_long | 
| 字符串 | 文本值必须包含有效的 UTF-8。 Null 和空字符串的处理方法相同。 | "site": "DIM_MLGGG" | $event.site.String或$event['site'].String | site_string | 
| 动态 | 由数组或属性包(字典)组成的复杂类型(非基元类型)。 目前,仅字符串化的基元 JSON 数组或不包含 TS ID 或时间戳属性的对象数组会被存储为动态。 请阅读此 文章,了解如何展平对象并展开数组。 存储为此类型的有效负载属性只能通过在 Time Series Insights Explorer 中选择 Explore Events来查看原始事件,或通过用于客户端解析的GetEvents查询 API 来访问。 | "values": "[197, 194, 189, 188]" | 尚不支持引用时序表达式中的动态类型 | values_dynamic | 
注意
支持 64 位整数值,但由于 JavaScript 限制,Azure 时序见解资源管理器可以安全表达的最大数字为 9,007,199,254,740,991(2^53-1)。 如果处理上述数据模型中的数字,可以通过创建 时序模型变量来减小大小,转换 值。
注意
字符串 类型不可为空:
- 
              时序表达式(TSX) 在时序查询中表达时,将空字符串('')与NULL进行比较时,它们的行为方式是相同的:$event.siteid.String = NULL等效于$event.siteid.String = ''。
- 即使原始事件包含空字符串,API 也可以返回 NULL 值。
- 不要依赖 String 列中的 NULL 值来执行比较或计算,将它们视为空字符串。
发送混合数据类型
Azure 时序见解 Gen2 环境已强类型化。 如果设备或标记为设备属性发送不同类型的数据,则值将存储在两个单独的列中,在 API 调用中定义时序模型变量表达式时,应使用 coalesce() 函数。
Azure Time Series Insights Explorer 提供了一种自动合并同一设备属性的各个列的方法。 在下面的示例中,传感器发送一个 PresentValue 属性,该属性可以是 Long 或 Double。 若要查询 PresentValue 属性的所有存储值(无论数据类型如何),请选择 PresentValue (Double | Long),然后系统将为你自动合并列。
对象和数组
可以将复杂类型(如对象和数组)作为事件有效负载的一部分发送。 嵌套对象将被平展,数组将根据您的环境配置和 JSON 形状存储为 dynamic 或被平展以生成多个事件。 如需了解更多信息,请阅读 JSON 平展和转义规则
后续步骤
- 阅读 JSON 扁平化和转义规则 以便理解事件的存储方式。 
- 了解环境的 吞吐量限制 
- 了解 事件源 以导入流式数据。 
