共用方式為


支援的資料類型

注意

時間序列深入解析服務將於 2024 年 7 月 7 日淘汰。 請考慮儘快將現有的環境移轉至替代解決方案。 如需淘汰和移轉的詳細資訊,請造訪我們的文件

下表列出 Azure 時間序列深入解析 Gen2 支援的數據類型

資料類型 描述 範例 時間序列表達式語法 Parquet 中的屬性數據行名稱
bool 具有兩種狀態之一的數據類型: truefalse "isQuestionable" : true $event.isQuestionable.Bool$event['isQuestionable'].Bool isQuestionable_bool
datetime 表示時間的瞬間,通常以一天的日期和時間表示。 以 ISO 8601 格式表示。 Datetime 屬性一律以 UTC 格式儲存。 時區位移,如果格式正確,將會套用,然後套用以UTC儲存的值。 如需環境時間戳屬性和日期時間位移的詳細資訊,請參閱本節 "eventProcessedLocalTime": "2020-03-20T09:03:32.8301668Z" 如果 「eventProcessedLocalTime」 是事件來源時間戳: $event.$ts。 如果是另一個 JSON 屬性: $event.eventProcessedLocalTime.DateTime$event['eventProcessedLocalTime'].DateTime eventProcessedLocalTime_datetime
double 雙精確度64位數位 "value": 31.0482941 $event.value.Double$event['value'].Double value_double
long 帶正負號的64位整數 "value" : 31 $event.value.Long$event['value'].Long value_long
string 文字值必須包含有效的UTF-8。 Null 和空字串的處理方式相同。 "site": "DIM_MLGGG" $event.site.String$event['site'].String site_string
dynamic 由陣列或屬性包(字典)組成的複雜(非基本型別) 類型。 目前只有基本類型或物件陣列的字串化 JSON 陣列,不包含 TS 識別碼或時間戳屬性(ies) 會儲存為動態。 請閱讀本文,以了解物件如何扁平化,而且可能會取消卷標數位列。 只有在時間序列深入解析總管中選取 Explore Events 以檢視原始事件,或透過 GetEvents 查詢 API 進行用戶端剖析,才能存取儲存為此類型的承載屬性。 "values": "[197, 194, 189, 188]" 尚未支援參考時間序列表示式中的動態類型 values_dynamic

注意

支援 64 位整數值,但由於 JavaScript 限制,Azure 時間序列深入解析 Explorer 可以安全地表示的最大數位是 9,007,199,254,740,991 (2^53-1)。 如果您使用上述資料模型中的數位,您可以藉由建立 時間序列模型變數轉換 值來減少大小。

注意

字串 類型不可為 Null:

  • 時間序列表示式 (TSX) 在時間序列查詢表示,將空字串 (''') 的值與 NULL 相比較,其行為方式相同:$event.siteid.String = NULL相當於 $event.siteid.String = ''
  • 即使原始事件包含空字串,API 仍可能會傳回 NULL 值。
  • 請勿相依於 String 數據行中的 NULL 值來執行比較或評估,請將其視為空字串。

傳送混合數據類型

您的 Azure 時間序列深入解析 Gen2 環境是強型別。 如果裝置或標籤傳送不同類型裝置屬性的數據,值會儲存在兩個分隔的數據行中,而且 在 API 呼叫中定義時間序列模型變數運算式時,應該使用 coalesce() 函 式。

Azure 時間序列深入解析 總管提供一種方式,以自動聯合相同裝置屬性的個別數據行。 在下列範例中,感測器會傳送 PresentValue 可以是Long或 Double 的屬性。 若要查詢屬性的所有預存值(不論數據類型為何), PresentValue 請選擇 PresentValue (Double | Long) 併為您合併數據行。

總管自動聯合

對象和陣列

您可以在事件承載中傳送複雜類型,例如對象和陣列。 巢狀物件將會扁平化,而且數位會儲存為 dynamic 或扁平化,以根據您的環境組態和 JSON 圖形產生多個事件。 若要深入瞭解 JSON 扁平化和逸出規則

下一步