DynamoDB - AWS IoT Core

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