

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

# DynamoDB
<a name="dynamodb-rule-action"></a>

Tindakan DynamoDB `dynamoDB` () menulis semua atau sebagian pesan MQTT ke tabel Amazon DynamoDB. 

Anda dapat mengikuti tutorial yang menunjukkan cara membuat dan menguji aturan dengan tindakan DynamoDB. Untuk informasi selengkapnya, lihat [Tutorial: Menyimpan data perangkat dalam tabel DynamoDB](iot-ddb-rule.md).

**catatan**  
Aturan ini menulis data non-JSON ke DynamoDB sebagai data biner. Konsol DynamoDB menampilkan data sebagai teks yang disandikan base64.

## Persyaratan
<a name="dynamodb-rule-action-requirements"></a>

Tindakan aturan ini memiliki persyaratan sebagai berikut:
+ Peran IAM yang AWS IoT dapat diasumsikan untuk melakukan `dynamodb:PutItem` operasi. Untuk informasi selengkapnya, lihat [Memberikan AWS IoT aturan akses yang dibutuhkannya](iot-create-role.md).

  Di AWS IoT konsol, Anda dapat memilih atau membuat peran untuk memungkinkan AWS IoT untuk melakukan tindakan aturan ini.
+  Jika Anda menggunakan pelanggan yang dikelola AWS KMS key (kunci KMS) untuk mengenkripsi data saat istirahat di DynamoDB, layanan harus memiliki izin untuk menggunakan kunci KMS atas nama pemanggil. Untuk informasi selengkapnya, lihat [kunci KMS yang Dikelola Pelanggan](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html#managed-cmk-customer-managed) di Panduan Memulai *Amazon DynamoDB*.

## Parameter
<a name="dynamodb-rule-action-parameters"></a>

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

`tableName`  
Nama dari tabel DynamoDB.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`hashKeyField`  
Nama kunci hash (juga disebut kunci partisi).  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`hashKeyType`  
(Opsional) Tipe data dari kunci hash (juga disebut kunci partisi). Nilai-nilai yang valid: `STRING`, `NUMBER`.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`hashKeyValue`  
Nilai kunci hash. Pertimbangkan untuk menggunakan template substitusi seperti `${topic()}` atau`${timestamp()}`.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`rangeKeyField`  
(Opsional) Nama tombol rentang (juga disebut tombol sortir).  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`rangeKeyType`  
(Opsional) Tipe data dari tombol rentang (juga disebut tombol sortir). Nilai-nilai yang valid: `STRING`, `NUMBER`.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

`rangeKeyValue`  
(Opsional) Nilai tombol rentang. Pertimbangkan untuk menggunakan template substitusi seperti `${topic()}` atau`${timestamp()}`.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`payloadField`  
(Opsional) Nama kolom tempat muatan ditulis. Jika Anda menghilangkan nilai ini, payload ditulis ke kolom bernama. `payload`  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`operation`  
(Opsional) Jenis operasi yang akan dilakukan. Nilai-nilai yang valid: `INSERT`, `UPDATE`, `DELETE`.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`roleARN`  
Peran IAM yang memungkinkan akses ke tabel DynamoDB. Untuk informasi selengkapnya, lihat [Persyaratan](#dynamodb-rule-action-requirements).  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak

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

## Contoh
<a name="dynamodb-rule-action-examples"></a>

Contoh JSON berikut mendefinisikan tindakan DynamoDB dalam aturan. AWS IoT 

```
{
    "topicRulePayload": {
        "sql": "SELECT * AS message FROM 'some/topic'", 
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "dynamoDB": {
                    "tableName": "my_ddb_table",
                    "hashKeyField": "key",
                    "hashKeyValue": "${topic()}",
                    "rangeKeyField": "timestamp",
                    "rangeKeyValue": "${timestamp()}",
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDB"
                }
            }
        ]
    }
}
```

## Lihat juga
<a name="dynamodb-rule-action-see-also"></a>
+ [Apa itu Amazon DynamoDB?](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/) di Panduan Pengembang *Amazon DynamoDB*
+ [Memulai DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html) di Panduan Pengembang Amazon *DynamoDB*
+ [Tutorial: Menyimpan data perangkat dalam tabel DynamoDB](iot-ddb-rule.md)