Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
DynamoDB
La acción DynamoDB (dynamoDB
) escribe la totalidad o parte de un mensaje MQTT en una tabla de Amazon DynamoDB.
Puede seguir un tutorial que muestra cómo crear y probar una regla con una acción de DynamoDB. Para obtener más información, consulte Tutorial: Almacenamiento de datos de dispositivos en una tabla de DynamoDB.
nota
Esta regla escribe datos no JSON en DynamoDB como datos binarios. La consola de DynamoDB mostrará los datos como texto codificado en Base64.
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 AWS IoT regla el acceso que requiere.En la AWS IoT consola, puede elegir o crear un rol que permita AWS IoT realizar esta acción de regla.
-
Si utiliza una clave KMS gestionada AWS KMS key por el cliente para cifrar los 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
Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:
tableName
-
El nombre de la tabla de DynamoDB.
Admite plantillas de sustitución: API y AWS CLI únicamente
hashKeyField
-
El nombre de la clave hash (también denominada clave de partición).
Admite plantillas de sustitución: API y AWS CLI únicamente
hashKeyType
-
(Opcional) El tipo de datos de la clave hash (también denominado clave de partición). Valores válidos:
STRING
,NUMBER
.Admite plantillas de sustitución: API y AWS CLI únicamente
hashKeyValue
-
El valor de la clave hash. Considere la posibilidad de utilizar una plantilla de sustitución como
${topic()}
o${timestamp()}
.Admite plantillas de sustitución: Sí
rangeKeyField
-
(Opcional) El nombre de la clave de rango (también denominada clave de clasificación).
Admite plantillas de sustitución: API y AWS CLI únicamente
rangeKeyType
-
(Opcional) El tipo de datos de la clave de rango (también denominada clave de clasificación). Valores válidos:
STRING
,NUMBER
.Admite plantillas de sustitución: API y AWS CLI únicamente
rangeKeyValue
-
(Opcional) El valor de la clave de rango. Considere la posibilidad de utilizar una plantilla de sustitución como
${topic()}
o${timestamp()}
.Admite plantillas de sustitución: Sí
payloadField
-
(Opcional) El nombre de la columna donde se escribe la carga útil. Si omite este valor, la carga útil se escribe en la columna denominada
payload
.Admite plantillas de sustitución: Sí
operation
-
(Opcional) El tipo de operación que se va a realizar. Valores válidos:
INSERT
,UPDATE
,DELETE
.Admite plantillas de sustitución: Sí
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 de JSON define una acción de DynamoDB en una regla. 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" } } ] } }
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
-
Tutorial: Almacenamiento de datos de dispositivos en una tabla de DynamoDB