

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Timestream
<a name="timestream-rule-action"></a>

Tindakan aturan Timestream menulis atribut (ukuran) dari pesan MQTT ke dalam tabel Amazon Timestream. Untuk informasi selengkapnya tentang Amazon Timestream, lihat [Apa itu Amazon Timestream?](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html) .

**catatan**  
Amazon Timestream tidak tersedia di semua Wilayah AWS s. Jika Amazon Timestream tidak tersedia di Wilayah Anda, Amazon Timestream tidak akan muncul dalam daftar tindakan aturan.

Atribut yang disimpan aturan ini dalam database Timestream adalah atribut yang dihasilkan dari pernyataan kueri aturan. Nilai setiap atribut dalam hasil pernyataan query diuraikan untuk menyimpulkan tipe datanya (seperti dalam [Dinamo DBv2](dynamodb-v2-rule-action.md) tindakan). Setiap nilai atribut ditulis ke catatannya sendiri di tabel Timestream. Untuk menentukan atau mengubah tipe data atribut, gunakan [`cast()`](iot-sql-functions.md#iot-sql-function-cast)fungsi dalam pernyataan query. Untuk informasi selengkapnya tentang isi setiap catatan Timestream, lihat[Konten rekaman Timestream](#timestream-rule-action-data).

**catatan**  
Dengan SQL V2 (2016-03-23), nilai numerik yang merupakan bilangan bulat, seperti`10.0`, dikonversi representasi Integer mereka (). `10` Secara eksplisit mentransmisikan mereka ke `Decimal` nilai, seperti dengan menggunakan fungsi [cast ()](iot-sql-functions.md#iot-sql-function-cast), tidak mencegah perilaku ini—hasilnya masih merupakan nilai. `Integer` Hal ini dapat menyebabkan kesalahan jenis ketidakcocokan yang mencegah data direkam dalam database Timestream. Untuk memproses nilai numerik bilangan bulat sebagai `Decimal` nilai, gunakan SQL V1 (2015-10-08) untuk pernyataan kueri aturan.

**catatan**  
Jumlah maksimum nilai yang dapat ditulis oleh tindakan aturan Timestream ke dalam tabel Amazon Timestream adalah 100. Untuk informasi selengkapnya, lihat Referensi [Kuota Amazon Timestream](https://docs.aws.amazon.com//timestream/latest/developerguide/ts-limits.html#limits.default). 

## Persyaratan
<a name="timestream-rule-action-requirements"></a>

Tindakan aturan ini memiliki persyaratan sebagai berikut:
+ Peran IAM yang AWS IoT dapat diasumsikan untuk melakukan `timestream:DescribeEndpoints` dan `timestream:WriteRecords` operasi. Untuk informasi selengkapnya, lihat [Memberikan AWS IoT aturan akses yang dibutuhkannya](iot-create-role.md).

  Di AWS IoT konsol, Anda dapat memilih, memperbarui, atau membuat peran AWS IoT untuk memungkinkan melakukan tindakan aturan ini.
+ Jika Anda menggunakan pelanggan- AWS KMS untuk mengenkripsi data saat istirahat di Timestream, layanan harus memiliki izin untuk menggunakan AWS KMS key atas nama pemanggil. Untuk informasi selengkapnya, lihat [Cara AWS layanan menggunakan AWS KMS.](https://docs.aws.amazon.com/kms/latest/developerguide/service-integration.html)

## Parameter
<a name="timestream-rule-action-parameters"></a>

Saat Anda membuat AWS IoT aturan dengan tindakan ini, Anda harus menentukan informasi berikut:

`databaseName`  
Nama database Amazon Timestream yang memiliki tabel untuk menerima catatan yang dibuat tindakan ini. Lihat juga `tableName`.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`dimensions`  
Atribut metadata dari deret waktu yang ditulis dalam setiap catatan ukuran. Misalnya, nama dan Availability Zone dari instans EC2 atau nama produsen turbin angin adalah dimensi.    
`name`  
Nama dimensi metadata. Ini adalah nama kolom dalam catatan tabel database.  
Dimensi tidak dapat diberi nama:`measure_name`,`measure_value`, atau`time`. Nama-nama ini dicadangkan. Nama dimensi tidak dapat dimulai dengan `ts_` atau `measure_value` dan mereka tidak dapat berisi karakter titik dua (`:`).  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak  
`value`  
Nilai untuk ditulis dalam kolom ini dari catatan basis data.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`roleArn`  
Amazon Resource Name (ARN) peran yang memberikan AWS IoT izin untuk menulis ke tabel basis data Timestream. Untuk informasi selengkapnya, lihat [Persyaratan](#timestream-rule-action-requirements).  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak

`tableName`  
Nama tabel database untuk menulis catatan ukuran. Lihat juga `databaseName`.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`timestamp`  
 Nilai yang akan digunakan untuk stempel waktu entri. Jika kosong, waktu untuk memproses entri yang akan digunakan.     
`unit`  
Ketepatan nilai stempel waktu yang dihasilkan dari ekspresi yang dijelaskan dalam `value`.  
Nilai yang valid: `SECONDS` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1`NANOSECONDS`. Nilai default-nya `MILLISECONDS`.  
`value`  
Ekspresi yang mengembalikan nilai waktu jangka waktu panjang.  
Anda dapat menggunakan [time\$1to\$1epoch (String, String)](iot-sql-functions.md#iot-sql-function-time-to-epoch) fungsi ini untuk membuat stempel waktu yang valid dari nilai tanggal atau waktu yang diteruskan dalam payload pesan. 

## Konten rekaman Timestream
<a name="timestream-rule-action-data"></a>

Data yang ditulis ke tabel Amazon Timestream oleh tindakan ini mencakup stempel waktu, metadata dari tindakan aturan Timestream, dan hasil dari pernyataan kueri aturan.

Untuk setiap atribut (ukuran) dalam hasil pernyataan kueri, tindakan aturan ini menulis catatan ke tabel Timestream yang ditentukan dengan kolom ini.


|  Nama kolom  |  Jenis Atribut  |  Nilai  |  Komentar  | 
| --- | --- | --- | --- | 
|  *dimension-name*  |  UKURAN  |  Nilai yang ditentukan dalam entri tindakan aturan Timestream.  |  Setiap **Dimensi** yang ditentukan dalam entri tindakan aturan membuat kolom dalam database Timestream dengan nama dimensi.  | 
|  ukuran\$1nama  |  UKURAN\$1NAMA  |  Nama atribut  |  Nama atribut dalam hasil pernyataan query yang nilainya ditentukan dalam `measure_value::data-type` kolom.  | 
|  ukuran\$1nilai:: *data-type*  |  UKURAN\$1NILAI  |  Nilai atribut dalam hasil pernyataan query. Nama atribut ada di `measure_name` kolom.  |  Nilai ditafsirkan\$1 dan dilemparkan sebagai kecocokan yang paling cocok dari:`bigint`,,`boolean`, `double` atau. `varchar` Amazon Timestream membuat kolom terpisah untuk setiap tipe data. Nilai dalam pesan dapat ditransmisikan ke tipe data lain dengan menggunakan [`cast()`](iot-sql-functions.md#iot-sql-function-cast)fungsi dalam pernyataan kueri aturan.  | 
|  Waktu  |  TIMESTAMP  |  Tanggal dan waktu catatan dalam database.  |  Nilai ini ditetapkan oleh mesin aturan atau `timestamp` properti, jika didefinisikan.  | 

\$1 Nilai atribut yang dibaca dari payload pesan ditafsirkan sebagai berikut. Lihat [Contoh](#timestream-rule-action-examples) untuk ilustrasi dari masing-masing kasus ini.
+ Nilai yang tidak dikutip dari `true` atau `false` ditafsirkan sebagai tipe. `boolean`
+ Numerik desimal ditafsirkan sebagai tipe. `double`
+ Nilai numerik tanpa titik desimal ditafsirkan sebagai tipe. `bigint`
+ String yang dikutip ditafsirkan sebagai `varchar` tipe.
+ Objek dan nilai array dikonversi ke string JSON dan disimpan sebagai `varchar` tipe.

## Contoh
<a name="timestream-rule-action-examples"></a>

Contoh JSON berikut mendefinisikan tindakan aturan Timestream dengan template substitusi dalam aturan. 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"
        }
      }
    ]
  }
}
```

Menggunakan tindakan aturan topik Timestream yang ditentukan dalam contoh sebelumnya dengan payload pesan berikut menghasilkan catatan Amazon Timestream yang ditulis dalam tabel berikut.

```
{
  "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"]
  }
}
```

Tabel berikut menampilkan kolom database dan catatan yang menggunakan tindakan aturan topik tertentu untuk memproses payload pesan sebelumnya dibuat. `device_id`Kolom `device_firmware_sku` dan adalah DIMENSI yang didefinisikan dalam tindakan aturan topik. Tindakan aturan topik Timestream membuat `time` kolom dan `measure_value::*` kolom `measure_name` dan kolom, yang diisi dengan nilai dari hasil pernyataan kueri tindakan aturan topik. 


| device\$1firmware\$1sku | device\$1id | ukuran\$1nama | ukuran\$1nilai: :bigint | ukuran\$1nilai: :varchar | ukuran\$1nilai: :ganda | ukuran\$1nilai: :boolean | Waktu | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | complex\$1value | - | \$1"simple\$1element” :42, "array\$1of\$1integers”: [23,36,56,72], "array string”: ["red”, "green”, "blue "]\$1 | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | integer\$1value\$1as\$1string | - | 123456789012 | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | boolean\$1nilai | - | - | - | BETUL | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | integer\$1nilai | 123456789012 | - | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | string\$1nilai | - | Nilai string | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | array\$1of\$1integer | - | [23,36,56,72] | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | array string | - | ["merah”, “hijau”, “biru"] | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | boolean\$1value\$1as\$1string | - | BETUL | - | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | nilai ganda | - | - | 123.456789012 | - | 2020-08-26 22:42:16.423 000000 | 
| Metadata Statis Saya | iotconsole-159 EXAMPLE738 -0 | double\$1value\$1as\$1string | - | 123.45679 | - | - | 2020-08-26 22:42:16.423 000000 | 