View a markdown version of this page

Timestream - AWS IoT Core

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

Timestream

Tindakan aturan Timestream menulis atribut (pengukuran) dari pesan MQTT ke tabel Amazon Timestream. Untuk informasi selengkapnya tentang Amazon Timestream, lihat Apa itu Amazon Timestream? .

catatan

Amazon Timestream tidak tersedia di semua Wilayah AWS s. Jika Amazon Timestream tidak tersedia di Wilayah Anda, itu 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 DynamoDBv2 tindakan). Setiap nilai atribut ditulis ke catatannya sendiri di tabel Timestream. Untuk menentukan atau mengubah tipe data atribut, gunakan cast() fungsi dalam pernyataan query. Untuk informasi selengkapnya tentang isi setiap catatan Timestream, lihat. Konten rekaman aliran waktu

catatan

Dengan SQL V2 (2016-03-23), nilai numerik yang merupakan bilangan bulat, seperti10.0, dikonversi representasi Integer mereka ()10. Menyebarkannya secara eksplisit ke Decimal nilai, seperti dengan menggunakan fungsi cast (), tidak mencegah perilaku ini—hasilnya masih merupakan Integer nilai. Hal ini dapat menyebabkan kesalahan ketidakcocokan tipe 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 nilai maksimum yang dapat ditulis oleh tindakan aturan Timestream ke dalam tabel Amazon Timestream adalah 100. Untuk informasi selengkapnya, lihat Referensi Kuota Amazon Timestream.

Persyaratan

Tindakan aturan ini memiliki persyaratan sebagai berikut:

  • Peran IAM yang AWS IoT dapat diasumsikan untuk melakukan timestream:WriteRecords operasi timestream:DescribeEndpoints dan. Untuk informasi selengkapnya, lihat Pemberian AWS IoT mengatur akses yang dibutuhkannya.

    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 yang diam di Timestream, layanan harus memiliki izin untuk menggunakan data atas nama AWS KMS key penelepon. Untuk informasi selengkapnya, lihat Cara AWS layanan menggunakan AWS KMS.

Parameter

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.

Men dukung template substitusi: API dan AWS CLI hanya

dimensions

Atribut metadata dari deret waktu yang ditulis dalam setiap catatan ukuran. Misalnya, nama dan Zona Ketersediaan 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, atautime. Nama-nama ini dicadangkan. Nama dimensi tidak dapat dimulai dengan ts_ atau measure_value dan tidak dapat berisi karakter titik dua (:).

Mendukung template substitusi: Tidak

value

Nilai untuk ditulis dalam kolom ini dari catatan basis data.

Mendukung template substitusi: Ya

roleArn

Amazon Resource Name (ARN) peran yang memberikan AWS IoT izin untuk menulis ke tabel basis data Timestream. Untuk informasi selengkapnya, lihat Persyaratan.

Mendukung template substitusi: Tidak

tableName

Nama tabel database tempat menulis catatan ukuran. Lihat juga databaseName.

Men dukung template substitusi: API dan AWS CLI hanya

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 | MILLISECONDS | MICROSECONDS |NANOSECONDS. Nilai default-nya MILLISECONDS.

value

Ekspresi yang mengembalikan nilai waktu jangka waktu panjang.

Anda dapat menggunakan time_to_epoch (String, String) fungsi untuk membuat stempel waktu yang valid dari nilai tanggal atau waktu yang diteruskan dalam payload pesan.

Konten rekaman aliran waktu

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

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

Nama kolom

Jenis Atribut

Nilai

Komentar

dimension-name

DIMENSI

Nilai yang ditentukan dalam entri tindakan aturan Timestream.

Setiap Dimensi yang ditentukan dalam entri tindakan aturan membuat kolom dalam database Timestream dengan nama dimensi.

nama_ukuran

NAMA_UKURAN

Nama atribut

Nama atribut dalam hasil pernyataan kueri yang nilainya ditentukan dalam measure_value::data-type kolom.

nilai_ukur:: data-type

NILAI_UKUR

Nilai atribut dalam hasil pernyataan query. Nama atribut ada di measure_name kolom.

Nilai ditafsirkan* dan diberikan sebagai kecocokan yang paling cocok dari:bigint,, booleandouble, atau. varchar Amazon Timestream membuat kolom terpisah untuk setiap tipe data. Nilai dalam pesan dapat ditransfer ke tipe data lain dengan menggunakan 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.

* Nilai atribut yang dibaca dari payload pesan ditafsirkan sebagai berikut. Lihat Contoh untuk ilustrasi masing-masing kasus ini.

  • Nilai yang tidak dikutip dari true atau false ditafsirkan sebagai boolean tipe.

  • Numerik desimal ditafsirkan sebagai double tipe.

  • Nilai numerik tanpa titik desimal ditafsirkan sebagai bigint tipe.

  • String yang dikutip ditafsirkan sebagai varchar tipe.

  • Objek dan nilai array dikonversi ke string JSON dan disimpan sebagai varchar tipe.

Contoh

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 rekaman yang menggunakan tindakan aturan topik yang ditentukan untuk memproses payload pesan sebelumnya dibuat. device_idKolom device_firmware_sku dan adalah DIMENSI yang didefinisikan dalam tindakan aturan topik. Tindakan aturan topik Timestream time membuat kolom measure_name dan measure_value::* kolom and, yang diisi dengan nilai-nilai dari hasil pernyataan kueri tindakan aturan topik.

perangkat_firmware_sku Device_id nama_ukuran ukur_nilai: :bigint ukur_nilai: :varchar ukuran_nilai: :ganda ukur_nilai: :boolean Waktu
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 nilai_kompleks - {"simple_element” :42, "array_of_integer”: [23,36,56,72], "array string”: ["red”, "hijau”, "biru "]} - - 2020-08-26 22:42:16.423 000000
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 nilai_bilang_seperti_string - 123456789012 - - 2020-08-26 22:42:16.423 000000
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 nilai_boole - - - BETUL 2020-08-26 22:42:16.423 000000
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 nilai_bilangan bulat 123456789012 - - - 2020-08-26 22:42:16.423 000000
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 nilai_string - Nilai string - - 2020-08-26 22:42:16.423 000000
Metadata Statis Saya iotconsole-159 EXAMPLE738-0 array dari bilangan bulat - [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_value_as_string - 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 nilai_ganda_seperti_string - 123.45679 - - 2020-08-26 22:42:16.423 000000