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
-
O que é o Amazon DynamoDB? no Guia do desenvolvedor do Amazon DynamoDB
-
Conceitos básicos do DynamoDB no Guia do desenvolvedor do Amazon DynamoDB