D ynamoDBv 2 - AWS IoT Core

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

D ynamoDBv 2

Tindakan D ynamoDBv 2 (dynamoDBv2) menulis semua atau sebagian MQTT pesan ke tabel Amazon DynamoDB. Setiap atribut dalam payload ditulis ke kolom terpisah dalam database DynamoDB.

Persyaratan

Tindakan aturan ini memiliki persyaratan sebagai berikut:

  • IAMPeran yang AWS IoT dapat diasumsikan untuk melakukan dynamodb:PutItem operasi. Untuk informasi selengkapnya, lihat Memberikan AWS IoT aturan akses yang dibutuhkannya.

    Di AWS IoT konsol, Anda dapat memilih atau membuat peran untuk memungkinkan AWS IoT untuk melakukan tindakan aturan ini.

  • Payload MQTT pesan harus berisi kunci tingkat root yang cocok dengan kunci partisi utama tabel dan kunci tingkat root yang cocok dengan kunci sortir utama tabel, jika ditentukan.

  • Jika Anda menggunakan AWS KMS key (KMSkunci) yang dikelola pelanggan untuk mengenkripsi data saat istirahat di DynamoDB, layanan harus memiliki izin untuk menggunakan kunci atas nama KMS pemanggil. Untuk informasi selengkapnya, lihat KMSkunci Dikelola Pelanggan di Panduan Memulai Amazon DynamoDB.

Parameter

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

putItem

Objek yang menentukan tabel DynamoDB yang data pesan akan ditulis. Objek ini harus berisi informasi berikut:

tableName

Nama dari tabel DynamoDB.

Mendukung template substitusi: API dan hanya AWS CLI

roleARN

IAMPeran yang memungkinkan akses ke tabel DynamoDB. Untuk informasi selengkapnya, lihat Persyaratan.

Mendukung template substitusi: Tidak

Data yang ditulis ke tabel DynamoDB adalah hasil dari pernyataan SQL aturan.

Contoh

JSONContoh berikut mendefinisikan tindakan D ynamoDBv 2 dalam sebuah AWS IoT aturan.

{ "topicRulePayload": { "sql": "SELECT * AS message FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDBv2": { "putItem": { "tableName": "my_ddb_table" }, "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDBv2", } } ] } }

JSONContoh berikut mendefinisikan tindakan DynamoDB dengan template substitusi dalam aturan. AWS IoT

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2015-10-08", "actions": [ { "dynamoDBv2": { "putItem": { "tableName": "${topic()}" }, "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDBv2" } } ] } }

Lihat juga