AWS IoT Core - Amazon Timestream

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

  1. Buat database di Amazon Timestream menggunakan petunjuk yang dijelaskan di. Buat database

  2. Buat tabel di Amazon Timestream menggunakan petunjuk yang dijelaskan di. Membuat tabel

Menggunakan konsol

  1. Gunakan AWS Management Console for AWS IoT Core untuk membuat aturan dengan mengklik Manage > Messsage routing > Rules diikuti oleh Create rule.

  2. Tetapkan nama aturan ke nama pilihan Anda dan SQL ke teks yang ditunjukkan di bawah ini

    SELECT temperature as temp, humidity from 'iot/topic'
  3. Pilih Timestream dari daftar Tindakan

  4. 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

  5. Untuk menguji aturan, ikuti instruksi yang ditunjukkan di sini.

Menggunakan CLI

Jika Anda belum menginstal AWS Command Line Interface (AWS CLI), lakukan dari sini.

  1. 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 }
  2. 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
  3. Mengambil rincian aturan topik menggunakan perintah berikut

    aws iot get-topic-rule --rule-name timestream_test
  4. 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 }
  5. 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.

  1. Kloning GitHub repositori untuk aplikasi sampel untuk integrasi AWS IoT Core mengikuti instruksi dari GitHub

  2. Ikuti petunjuk dalam READMEuntuk 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 ini menjelaskan cara kerja IoT Core dengan Timestream.