Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat AWS IoT aturan
Anda dapat membuat AWS IoT aturan untuk merutekan data dari hal-hal yang terhubung untuk berinteraksi dengan AWS layanan lain. A AWS IoT turan terdiri dari komponen-komponen berikut:
| Komponen | Deskripsi | Diperlukan atau Opsional |
|---|---|---|
| Nama aturan |
Nama aturan. Perhatikan bahwa kami tidak merekomendasikan penggunaan informasi identitas pribadi dalam nama aturan Anda. |
Wajib. |
| Deskripsi aturan |
Deskripsi tekstual dari aturan tersebut. Perhatikan bahwa kami tidak merekomendasikan penggunaan informasi identitas pribadi dalam deskripsi aturan Anda. |
Tidak wajib. |
| Pernyataan SQL |
Sintaks SQL yang disederhanakan untuk memfilter pesan yang diterima pada topik MQTT dan mendorong data ke tempat lain. Untuk informasi selengkapnya, lihat AWS IoT Referensi SQL. |
Wajib. |
| Versi SQL |
Versi mesin aturan SQL untuk digunakan saat mengevaluasi aturan. Meskipun properti ini opsional, kami sangat menyarankan Anda menentukan versi SQL. Kon AWS IoT Core sol menyetel properti ini ke |
Wajib. |
| Satu atau lebih tindakan | Tind AWS IoT akan dilakukan saat memberlakukan aturan. Misalnya, Anda dapat memasukkan data ke dalam tabel DynamoDB, menulis data ke bucket Amazon S3, memublikasikan ke topik Amazon SNS, atau menginvokasi fungsi Lambda. | Wajib. |
| Tindakan kesalahan | T AWS IoT indakan dilakukan ketika tidak dapat melakukan tindakan aturan. | Tidak wajib. |
Sebelum membuat AWS IoT aturan, Anda harus membuat peran IAM dengan kebijakan yang memungkinkan akses ke AWS sumber daya yang diperlukan. AWS IoT mengambil peran ini ketika menerapkan aturan. Untuk informasi selengkapnya, lihat Mem AWS IoT berikan aturan akses yang diperlukan dan M eneruskan izin peran.
Saat membuat aturan, perhatikan berapa banyak data yang Anda publikasikan pada topik. Jika Anda membuat aturan yang menyertakan pola topik wildcard, aturan tersebut mungkin cocok dengan sebagian besar pesan Anda. Jika ini masalahnya, Anda mungkin perlu meningkatkan kapasitas sumber AWS daya yang digunakan oleh tindakan target. Sebaiknya hindari pola topik wildcard dalam aturan penerbitan ulang untuk mencegah pemrosesan duplikat dan mengurangi biaya.
catatan
Membuat dan memperbarui aturan adalah tindakan tingkat administrator. Setiap pengguna yang memiliki izin untuk membuat atau memperbarui aturan dapat mengakses data yang diproses oleh aturan.
Membuat aturan (Konsol)
Untuk membuat aturan (Konsol Manajemen AWS)
Gunakan Konsol Manajemen AWS
-
Buka konsol AWS IoT
. -
Pada navigasi kiri, pilih Perutean pesan dari bagian Kelola. Kemudian pilih A turan.
-
Pada halaman Aturan, pilih Buat aturan.
-
Pada halaman Tentukan properti aturan, masukkan nama untuk aturan Anda. Deskripsi aturan dan Tag bersifat opsional. Pilih Berikutnya.
-
Pada halaman Konfigurasi pernyataan SQL, pilih versi SQL dan masukkan pernyataan SQL. Contoh pernyataan SQL dapat berupa
SELECT temperature FROM 'iot/topic' WHERE temperature > 50. Untuk informasi selengkapnya, lihat versi SQL dan referensi AWS IoT SQL. -
Pada halaman Lampirkan tindakan aturan, tambahkan tindakan aturan untuk merutekan data ke AWS layanan lain.
-
Di Tind akan aturan, pilih tindakan aturan dari daftar drop-down. Misalnya, Anda dapat memilih Kinesis Stream. Untuk informasi selengkapnya tentang tindakan aturan, lihat tindakan AWS IoT aturan.
-
Tergantung pada tindakan aturan yang Anda pilih, masukkan detail konfigurasi terkait. Misalnya, jika Anda memilih Kinesis Stream, Anda harus memilih atau membuat sumber daya aliran data, dan secara opsional memasukkan detail konfigurasi seperti kunci partisi, yang digunakan untuk mengelompokkan data berdasarkan pecahan dalam steam.
-
Di peran IAM, pilih atau buat peran untuk memberikan AWS IoT akses ke titik akhir Anda. Perhatikan bahwa secara otomatis AWS IoT akan membuat kebijakan dengan awalan di
aws-iot-rulebawah peran IAM yang dipilih. Anda dapat memilih Lihat untuk melihat peran IAM dan kebijakan dari konsol IAM. Tindakan kesalahan adalah opsional. Anda dapat menemukan informasi lebih lanjut di Pen anganan kesalahan (tindakan kesalahan). Untuk informasi selengkapnya tentang membuat peran IAM untuk aturan Anda, lihat Memberikan aturan akses yang diperlukan. Pilih Berikutnya.
-
-
Pada halaman T injau dan buat, tinjau semua konfigurasi dan lakukan pengeditan jika diperlukan. Pilih Buat.
Setelah Anda berhasil membuat aturan, Anda akan melihat aturan yang tercantum di halaman Aturan. Anda dapat memilih aturan untuk membuka halaman Detail tempat Anda dapat melihat aturan, mengedit aturan, menonaktifkan aturan, dan menghapus aturan.
Buat aturan (CLI)
Untuk membuat aturan (AWS CLI)
Gunakan perintah create-topic-rule untuk membuat aturan:
aws iot create-topic-rule --rule-namemyrule--topic-rule-payload file://myrule.json
Berikut ini adalah contoh file payload dengan aturan yang menyisipkan semua pesan yang dikirim ke iot/test topik ke dalam tabel DynamoDB yang ditentukan. Pernyataan SQL menyaring pesan dan peran ARN memberikan AWS IoT izin untuk menulis ke tabel DynamoDB.
{ "sql": "SELECT * FROM 'iot/test'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDB": { "tableName": "my-dynamodb-table", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role", "hashKeyField": "topic", "hashKeyValue": "${topic(2)}", "rangeKeyField": "timestamp", "rangeKeyValue": "${timestamp()}" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang menyisipkan semua pesan yang dikirim ke iot/test topik ke dalam bucket S3 yang ditentukan. Pernyataan SQL memfilter pesan, dan peran ARN AWS IoT memberikan izin untuk menulis ke bucket Amazon S3.
{ "awsIotSqlVersion": "2016-03-23", "sql": "SELECT * FROM 'iot/test'", "ruleDisabled": false, "actions": [ { "s3": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_s3", "bucketName": "amzn-s3-demo-bucket", "key": "myS3Key" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang mendorong data ke Amazon OpenSearch Service:
{ "sql": "SELECT *, timestamp() as timestamp FROM 'iot/test'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "OpenSearch": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_es", "endpoint": "https://my-endpoint", "index": "my-index", "type": "my-type", "id": "${newuuid()}" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang memanggil fungsi Lambda:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "lambda": { "functionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang menerbitkan ke topik Amazon SNS:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-west-2:123456789012:my-sns-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang dilanjutkan pada topik MQTT yang berbeda:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang mendorong data ke aliran Amazon Data Firehose:
{ "sql": "SELECT * FROM 'my-topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "roleArn": "arn:aws:iam::123456789012:role/my-iot-role", "deliveryStreamName": "my-stream-name" } } ] }
Berikut ini adalah contoh file payload dengan aturan yang memulai eksekusi mesin status Step Functions.
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "stepFunctions": { "stateMachineName": "myCoolStateMachine", "executionNamePrefix": "coolRunning", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }