選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Timestream

焦點模式
Timestream - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Timestream 規則動作會將MQTT訊息中的屬性 (量值) 寫入 Amazon Timestream 資料表。如需 Amazon Timestream 的詳細資訊,請參閱什麼是 Amazon Timestream?

注意

Amazon Timestream 並非所有 AWS 區域皆可用。若 Amazon Timestream 無法在您的區域中使用,則不會顯示於規則動作清單中。

此規則儲存於 Timestream 資料庫中的屬性是規則查詢陳述式所產生的屬性。剖析查詢陳述式結果中每個屬性值,以推斷其資料類型 (如 DynamoDBv2 動作中所示)。每個屬性值都會寫入其在 Timestream 表格中的記錄。如要指定或變更屬性的資料類型,請使用查詢陳述式中的 cast() 函數。如需每個 Timestream 記錄內容的詳細資訊,請參閱 Timestream 記錄內容

注意

使用 SQL V2 (2016-03-23),整數的數值,例如 10.0,會轉換其整數表示法 (10)。將其明確轉換為 Decimal 值,例如使用 cast() 函數不能阻止此種行為,結果仍是一個 Integer 值。這可能會造成類型不相符的錯誤,導致資料無法記錄於 Timestream 資料庫中。若要將整數數值處理為Decimal值,請針對規則查詢陳述式使用 SQL V1 (2015-10-08)。

注意

可以寫入 Amazon Timestream 表格的最大 Timestream 規則動作值為 100。如需詳細資訊,請參閱 Amazon Timestream 配額參考

要求

此規則動作具有下列需求:

  • AWS IoT 可以擔任以執行 timestream:DescribeEndpointstimestream:WriteRecords操作IAM的角色。如需詳細資訊,請參閱授予 AWS IoT 規則所需的存取權

    在 AWS IoT 主控台中,您可以選擇、更新或建立角色, AWS IoT 以允許 執行此規則動作。

  • 如果您使用客戶 AWS KMS 加密 Timestream 中的靜態資料,服務必須具有代表發起人使用 AWS KMS key 的許可。如需詳細資訊,請參閱 AWS 服務使用方式 AWS KMS

參數

使用此動作建立 AWS IoT 規則時,您必須指定下列資訊:

databaseName

Amazon Timestream 資料庫的名稱,其中包含用於接收此動作所建立之記錄的資料表。另請參閱tableName

AWS CLI 僅支援替代範本: API和

dimensions

寫入每個量測記錄的時間序列的中繼資料屬性。例如,EC2執行個體的名稱和可用區域或風力發電機製造商的名稱是維度。

name

中繼資料維度名稱。這是資料庫資料表記錄中的欄的名稱。

無法命名的維度:measure_namemeasure_value, 或 time。這些為預留名稱。維度名稱不可以 ts_measure_value 開頭,且其不可包含冒號 (:) 字元。

支援替代範本:否

value

要寫入資料庫記錄的該資料欄的值。

支援替代範本:是

roleArn

授予 AWS IoT 寫入 Timestream 資料庫資料表許可之角色的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱要求

支援替代範本:否

tableName

要寫入測量記錄的資料庫表格名稱。另請參閱databaseName

AWS CLI 僅支援替代範本: API和

timestamp

要用於項目的 timestamp 的值。若為空白,則會使用處理項目的時間。

unit

value 中所述運算式產生的 timestamp 值的精確度。

有效值:SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS。預設值為 MILLISECONDS

value

傳回一個很長的 Epoch 時間值的表達式。

您可使用 time_to_epoch(String, String) 函數,從訊息承載中傳遞的日期或時間建立有效的時間戳記。

Timestream 記錄內容

此動作寫入 Amazon Timestream 表格的資料包括時間戳記、來自 Timestream 規則動作的中繼資料,及規則查詢陳述式的結果。

對於查詢陳述式結果中的每個屬性 (測量),此規則動作會將記錄寫入具有這些欄的指定 Timestream 表格。

欄名稱

屬性類型

Value

說明

dimension-name

DIMENSION

指定於 Timestream 規則動作項目中的值。

指定於規則動作項目中的每個維度都會於 Timestream 資料庫中建立一個具維度名稱的欄。

measure_name

MEASURE_NAME

屬性名稱

查詢陳述式結果中的屬性名稱,其值指定於 measure_value::data-type 欄中。

measure_value::data-type

MEASURE_VALUE

查詢陳述式結果中的屬性值。屬性名稱位於 measure_name 欄中。

此值會進行解譯* 並轉換為最適合下列的比對項目:bigintbooleandoublevarchar。Amazon Timestream 為每種資料類型建立一個個別的欄。訊息中的值可使用規則查詢陳述式中的 cast() 函數轉換為另一個資料。

time

TIMESTAMP

資料庫中記錄的日期和時間。

此值是由規則引擎或 timestamp 屬性來指派 (若已定義)。

* 從訊息承載讀取的屬性值解譯如下。請參閱 範例,以取得每個案例的說明。

  • truefalse 的未加引號值解釋為 boolean 類型。

  • 將十進位數字解釋為 double 類型。

  • 將未帶小數點的十進位數值解釋為 bigint 類型。

  • 將帶引號的字串解釋為 varchar 類型。

  • 物件和陣列值會轉換為JSON字串,並儲存為 varchar類型。

範例

下列JSON範例使用規則中的替代範本定義 Timestream AWS IoT 規則動作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'iot/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "timestream": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_timestream", "tableName": "devices_metrics", "dimensions": [ { "name": "device_id", "value": "${clientId()}" }, { "name": "device_firmware_sku", "value": "My Static Metadata" } ], "databaseName": "record_devices" } } ] } }

上一個範例中定義的 Timestream 主題規則動作與下列訊息承載搭配使用會導致 Amazon Timestream 記錄寫入後續表格中。

{ "boolean_value": true, "integer_value": 123456789012, "double_value": 123.456789012, "string_value": "String value", "boolean_value_as_string": "true", "integer_value_as_string": "123456789012", "double_value_as_string": "123.456789012", "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"], "complex_value": { "simple_element": 42, "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"] } }

下表會顯示使用指定主題規則動作處理先前訊息承載建立的資料庫欄和記錄。device_firmware_skudevice_id資料欄是在主題規則動作中DIMENSIONS定義的。Timestream 主題規則動作會建立 time 欄及 measure_namemeasure_value::* 欄,其中其會填入主題規則動作查詢陳述式結果的值。

device_firmware_sku device_id measure_name measure_value::bigint measure_value::varchar measure_value::double measure_value::boolean time
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 complex_value - {"simple_element":42,"array_of_integers":[23,36,56,72],"字串陣列":["紅","綠","藍"]} - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 integer_value_as_string - 123456789012 - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 boolean_value - - - TRUE 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 integer_value 123456789012 - - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 string_value - 字串值 - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 array_of_integers - [23,36,56,72] - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 字串陣列 - ["紅","綠","藍"] - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 boolean_value_as_string - TRUE - - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 double_value - - 123.456789012 - 2020-08-26 22:42:16.423000000
我的靜態中繼資料 iotconsole-159EXAMPLE738-0 double_value_as_string - 123.45679 - - 2020-08-26 22:42:16.423000000
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。