DynamoDBv2
La acción DynamoDBv2 (dynamoDBv2
) escribe la totalidad o parte de un mensaje MQTT en una tabla de Amazon DynamoDB. Cada atributo de la carga se escribe en una columna independiente de la base de datos de DynamoDB.
Requisitos
Esta regla tiene los siguientes requisitos:
-
Un rol de IAM que AWS IoT puede asumir para realizar la operación
dynamodb:PutItem
. Para obtener más información, consulte Otorgar a una regla AWS IoT el acceso que requiere.En la consola de AWS IoT, puede elegir o crear un rol que permita a AWS IoT realizar esta acción de regla.
-
La carga del mensaje MQTT debe contener una clave de nivel de raíz que coincida con la clave de partición principal de la tabla y una clave de nivel de raíz que coincida con la clave de clasificación principal de la tabla, si hay una definida.
-
Si utiliza una clave gestionada por el cliente AWS KMS key (clave KMS) para cifrar datos en reposo en DynamoDB, el servicio debe tener permiso para utilizar la clave KMS en nombre de la persona que llama. Para obtener más información, consulte la clave de KMS gestionada por el cliente en la Guía de introducción de Amazon DynamoDB.
Parámetros
Cuando cree una regla AWS IoT con esta acción, debe especificar la información siguiente:
putItem
-
Un objeto que especifica la tabla de DynamoDB en la que se escribirán los datos del mensaje. Este objeto debe contener la siguiente información:
tableName
-
El nombre de la tabla de DynamoDB.
Admite plantillas de sustitución: API y AWS CLI únicamente
roleARN
-
El rol de IAM que permite tener acceso a la tabla de DynamoDB. Para obtener más información, consulte Requisitos.
Admite plantillas de sustitución: No
Los datos que se escriben en la tabla de DynamoDB son el resultado de la instrucción SQL de la regla.
Ejemplos
El siguiente ejemplo JSON define una acción DynamoDBv2 en una regla AWS IoT.
{ "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", } } ] } }
El siguiente ejemplo JSON define una acción DynamoDB con plantillas de sustitución en una regla 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" } } ] } }
Véase también
-
¿Qué es Amazon DynamoDB? en la Guía para desarrolladores de Amazon DynamoDB.
-
Introducción a DynamoDB en la Guía para desarrolladores de Amazon DynamoDB