Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS IoT Core
Anda dapat mengumpulkan data dari perangkat IoT menggunakan IoT Core dan merutekan data ke Amazon Timestream melalui tindakan aturan AWS IoT Core. AWS Tindakan aturan IoT menentukan apa yang harus dilakukan ketika aturan dipicu. Anda dapat menentukan tindakan untuk mengirim data ke tabel Amazon Timestream, database Amazon DynamoDB, dan menjalankan fungsi Lambda. AWS
Tindakan Timestream dalam Aturan IoT digunakan untuk menyisipkan data dari pesan masuk langsung ke Timestream. Tindakan mem-parsing hasil pernyataan IoT SQL Core dan menyimpan data di Timestream. Nama-nama bidang dari kumpulan SQL hasil yang dikembalikan digunakan sebagai ukuran: :name dan nilai bidang adalah ukuran: :value.
Misalnya, perhatikan SQL pernyataan dan muatan pesan sampel:
SELECT temperature, humidity from 'iot/topic'
{ "dataFormat": 5, "rssi": -88, "temperature": 24.04, "humidity": 43.605, "pressure": 101082, "accelerationX": 40, "accelerationY": -20, "accelerationZ": 1016, "battery": 3007, "txPower": 4, "movementCounter": 219, "device_id": 46216, "device_firmware_sku": 46216 }
Jika tindakan aturan IoT Core untuk Timestream dibuat dengan SQL pernyataan di atas, dua catatan akan ditambahkan ke Timestream dengan nama ukuran suhu dan kelembaban dan nilai pengukuran masing-masing 24,04 dan 43,605.
Anda dapat mengubah nama ukuran rekaman yang ditambahkan ke Timestream dengan menggunakan operator AS dalam SELECT pernyataan. SQLPernyataan di bawah ini akan membuat catatan dengan nama pesan temp bukan suhu.
Tipe data ukuran disimpulkan dari tipe data dari nilai payload pesan. JSONtipe data seperti integer, double, boolean, dan string dipetakan ke tipe data Timestream dariBIGINT,,DOUBLE, BOOLEAN dan masing-masing. VARCHAR Data juga dapat dipaksa ke tipe data tertentu menggunakan fungsi cast (). Anda dapat menentukan stempel waktu pengukuran. Jika stempel waktu dibiarkan kosong, waktu entri diproses digunakan.
Anda dapat merujuk ke dokumentasi tindakan aturan Timestream untuk detail tambahan
Untuk membuat tindakan aturan IoT Core untuk menyimpan data di Timestream, ikuti langkah-langkah di bawah ini:
Prasyarat
-
Buat database di Amazon Timestream menggunakan petunjuk yang dijelaskan di. Buat database
-
Buat tabel di Amazon Timestream menggunakan petunjuk yang dijelaskan di. Membuat tabel
Menggunakan konsol
-
Gunakan AWS Management Console for AWS IoT Core untuk membuat aturan dengan mengklik Manage > Messsage routing > Rules diikuti oleh Create rule.
-
Tetapkan nama aturan ke nama pilihan Anda dan SQL ke teks yang ditunjukkan di bawah ini
SELECT temperature as temp, humidity from 'iot/topic'
-
Pilih Timestream dari daftar Tindakan
-
Tentukan nama database, tabel, dan dimensi Timestream bersama dengan peran untuk menulis data ke Timestream. Jika peran tidak ada, Anda dapat membuatnya dengan mengklik Buat Peran
-
Untuk menguji aturan, ikuti instruksi yang ditunjukkan di sini.
Menggunakan CLI
Jika Anda belum menginstal AWS Command Line Interface (AWS CLI), lakukan dari sini
-
Simpan payload aturan berikut dalam JSON file bernama timestream_rule.json. Ganti
arn:aws:iam::123456789012:role/TimestreamRole
dengan peran Anda yang memberikan akses AWS IoT untuk menyimpan data di Amazon Timestream{ "actions": [ { "timestream": { "roleArn": "arn:aws:iam::123456789012:role/TimestreamRole", "tableName": "devices_metrics", "dimensions": [ { "name": "device_id", "value": "${clientId()}" }, { "name": "device_firmware_sku", "value": "My Static Metadata" } ], "databaseName": "record_devices" } } ], "sql": "select * from 'iot/topic'", "awsIotSqlVersion": "2016-03-23", "ruleDisabled": false }
-
Buat aturan topik menggunakan perintah berikut
aws iot create-topic-rule --rule-name timestream_test --topic-rule-payload file://<path/to/timestream_rule.json> --region us-east-1
-
Mengambil rincian aturan topik menggunakan perintah berikut
aws iot get-topic-rule --rule-name timestream_test
-
Simpan payload pesan berikut dalam file bernama timestream_msg.json
{ "dataFormat": 5, "rssi": -88, "temperature": 24.04, "humidity": 43.605, "pressure": 101082, "accelerationX": 40, "accelerationY": -20, "accelerationZ": 1016, "battery": 3007, "txPower": 4, "movementCounter": 219, "device_id": 46216, "device_firmware_sku": 46216 }
-
Uji aturan menggunakan perintah berikut
aws iot-data publish --topic 'iot/topic' --payload file://<path/to/timestream_msg.json>
Aplikasi sampel
Untuk membantu Anda memulai menggunakan Timestream dengan AWS IoT Core, kami telah membuat aplikasi sampel yang berfungsi penuh yang membuat artefak yang diperlukan AWS di IoT Core dan Timestream untuk membuat aturan topik dan contoh aplikasi untuk menerbitkan data ke topik tersebut.
-
Kloning GitHub repositori untuk aplikasi sampel untuk integrasi
AWS IoT Core mengikuti instruksi dari GitHub -
Ikuti petunjuk dalam README
untuk menggunakan AWS CloudFormation templat untuk membuat artefak yang diperlukan di Amazon Timestream dan AWS IoT Core dan untuk mempublikasikan pesan sampel ke topik tersebut.
Video tutorial
Video