DynamoDBv2 - AWS IoT Core

DynamoDBv2

A ação DynamoDBv2(dynamoDBv2) grava toda ou parte de uma mensagem MQTT em uma tabela do Amazon DynamoDB. Cada atributo na carga útil é gravado em uma coluna separada no banco de dados DynamoDB.

Requisitos

Esta ação de regra tem os seguintes requisitos:

  • Um perfil do IAM que AWS IoT pode assumir a execução da operação dynamodb:PutItem. Para obter mais informações, consulte Conceder a uma regra AWS IoT o acesso que ela exige.

    No console AWS IoT, você pode escolher ou criar uma função para permitir que AWS IoT execute essa ação de regra.

  • A carga útil da mensagem MQTT deve conter uma chave de nível raiz que corresponda à chave de partição primária da tabela e uma chave de nível raiz que corresponda à chave de classificação primária da tabela, se alguma estiver definida.

  • Se você usar uma AWS KMS key chave KMS gerenciada pelo cliente para criptografar dados em repouso no DynamoDB, o serviço deverá ter permissão para usar a chave KMS em nome do chamador. Para obter mais informações, consulte a chave KMS gerenciada pelo cliente no Guia de conceitos básicos do Amazon DynamoDB.

Parâmetros

Ao criar uma regra AWS IoT com esta ação, você deve especificar as seguintes informações:

putItem

Um objeto que especifica a tabela do DynamoDB na qual os dados da mensagem serão gravados. Este objeto deve conter as seguintes informações:

tableName

O nome da tabela do DynamoDB.

Compatível com modelos de substituição: API e AWS CLI somente

roleARN

O perfil do IAM que permite o acesso à tabela do DynamoDB. Para obter mais informações, consulte Requisitos.

Compatível com modelos de substituição: Não

Os dados gravados na tabela do DynamoDB são o resultado da instrução SQL da regra.

Exemplos

O seguinte exemplo de JSON mostra como definir uma ação do DynamoDBv2 em uma regra 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", } } ] } }

O exemplo JSON a seguir define uma ação do DynamoDB com modelos de substituição em uma regra 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" } } ] } }

Consulte também