

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Die Aktion DynamoDB (`dynamoDB`) schreibt eine MQTT-Nachricht ganz oder teilweise in eine Amazon DynamoDB-Tabelle. 

Sie können einem Tutorial folgen, das Ihnen veranschaulicht, wie Sie eine Regel mit einer DynamoDB-Aktion erstellen und testen. Weitere Informationen finden Sie unter [Tutorial: Gerätedaten in einer DynamoDB-Tabelle speichern](iot-ddb-rule.md).

**Anmerkung**  
Diese Regel schreibt Nicht-JSON-Daten als Binärdaten in DynamoDB. Die DynamoDB-Konsole zeigt die Daten als Base64-codierten Text an.

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

Diese Regelaktion hat die folgenden Anforderungen:
+ Eine IAM-Rolle, die die Ausführung des Vorgangs übernehmen AWS IoT kann. `dynamodb:PutItem` Weitere Informationen finden Sie unter [Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt](iot-create-role.md).

  In der AWS IoT Konsole können Sie eine Rolle auswählen oder erstellen, um die Ausführung dieser Regelaktion AWS IoT zu ermöglichen.
+  Wenn Sie einen vom Kunden verwalteten AWS KMS key (KMS-Schlüssel) verwenden, um ruhende Daten in DynamoDB zu verschlüsseln, muss der Dienst über die Berechtigung verfügen, den KMS-Schlüssel im Namen des Anrufers zu verwenden. Weitere Informationen finden Sie unter [Kundenverwalteter KMS-Schlüssel](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html#managed-cmk-customer-managed) im *Amazon DynamoDB Einführungshandbuch.*.

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

Wenn Sie mit dieser Aktion eine AWS IoT Regel erstellen, müssen Sie die folgenden Informationen angeben:

`tableName`  
Der Name der DynamoDB-Tabelle.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`hashKeyField`  
Der Name des Hash-Schlüssels (auch Partitionsschlüssel genannt)  
Unterstützt [Substitutionsvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`hashKeyType`  
(Optional) Der Datentyp des Hash-Schlüssels (auch Partitionsschlüssel genannt). Zulässige Werte: `STRING`, `NUMBER`.  
Unterstützt [Substitutionsvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`hashKeyValue`  
Der Wert des Hash-Schlüssels Erwägen Sie die Verwendung einer Ersatzvorlage wie `${topic()}` oder `${timestamp()}`.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja

`rangeKeyField`  
(Optional) Der Name des Bereichsschlüssels (auch Sortierschlüssel genannt).  
Unterstützt [Substitutionsvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`rangeKeyType`  
(Optional) Der Datentyp des Bereichsschlüssels (auch Sortierschlüssel genannt). Zulässige Werte: `STRING`, `NUMBER`.  
Unterstützt [Substitutionsvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`rangeKeyValue`  
(Optional) Der Wert des Bereichsschlüssels. Erwägen Sie die Verwendung einer Ersatzvorlage wie `${topic()}` oder `${timestamp()}`.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja

`payloadField`  
(Optional) Der Name der Spalte, in die die Nutzlast geschrieben wird. Wenn Sie diesen Wert weglassen, wird die Nutzlast in die Spalte mit dem Namen `payload` geschrieben.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja

`operation`  
(Optional) Der Typ des auszuführenden Vorgangs. Zulässige Werte: `INSERT`, `UPDATE`, `DELETE`.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja

`roleARN`  
Die IAM-Rolle, die den Zugriff auf die DynamoDB-Tabelle erlaubt. Weitere Informationen finden Sie unter [Voraussetzungen](#dynamodb-rule-action-requirements).  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Nein

Die in die DynamoDB-Tabelle geschriebenen Daten sind das Ergebnis der SQL-Anweisung der Regel.

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

Das folgende JSON-Beispiel definiert eine DynamoDB-Aktion in einer AWS IoT Regel.

```
{
    "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"
                }
            }
        ]
    }
}
```

## Weitere Informationen finden Sie auch unter
<a name="dynamodb-rule-action-see-also"></a>
+ [Was ist Amazon DynamoDB?](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/) im *Amazon DynamoDB Entwicklerhandbuch*
+ [Erste Schritte mit DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html) im *Amazon DynamoDB Entwicklerhandbuch*
+ [Tutorial: Gerätedaten in einer DynamoDB-Tabelle speichern](iot-ddb-rule.md)