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 todo o parte de MQTT un mensaje 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 que no son JSON datos en DynamoDB como datos binarios. La consola de DynamoDB mostrará los datos como texto codificado en Base64.

Requisitos

Esta regla tiene los siguientes requisitos:

  • IAMFunción que se AWS IoT puede asumir al realizar la dynamodb:PutItem operación. 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 AWS KMS key (KMSclave) gestionada por el cliente para cifrar los datos en reposo en DynamoDB, el servicio debe tener permiso para utilizar la clave en nombre de KMS la persona que llama. Para obtener más información, consulte la KMSclave 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 solo

hashKeyField

El nombre de la clave hash (también denominada clave de partición).

Soporta plantillas de sustitución: API y AWS CLI solo

hashKeyType

(Opcional) El tipo de datos de la clave hash (también denominado clave de partición). Valores válidos: STRING, NUMBER.

Soporta plantillas de sustitución: API y AWS CLI solo

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).

Soporta plantillas de sustitución: API y AWS CLI solo

rangeKeyType

(Opcional) El tipo de datos de la clave de rango (también denominada clave de clasificación). Valores válidos: STRING, NUMBER.

Soporta plantillas de sustitución: API y AWS CLI solo

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 IAM rol que permite el acceso a la tabla de DynamoDB. Para obtener más información, consulte Requisitos.

Admite plantillas de sustitución: No

Los datos escritos en la tabla de DynamoDB son el resultado del enunciado de SQL la regla.

Ejemplos

El siguiente JSON ejemplo 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