

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Dínamo DBv2
<a name="dynamodb-v2-rule-action"></a>

A ação Dynamo DBv2 (`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
<a name="dynamodb-v2-rule-action-requirements"></a>

Esta ação de regra tem os seguintes requisitos:
+ Uma função do IAM que AWS IoT você pode assumir para realizar a `dynamodb:PutItem` operação. Para obter mais informações, consulte [Conceder a uma AWS IoT regra o acesso que ela exige](iot-create-role.md).

  No AWS IoT console, você pode escolher ou criar uma função para permitir AWS IoT a execução dessa 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ê usa uma chave gerenciada pelo cliente AWS KMS key (chave KMS) para criptografar dados em repouso no DynamoDB, o serviço deve ter permissão para usar a chave KMS em nome do chamador. Para obter mais informações, consulte a [chave KMS gerenciada pelo cliente](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html#managed-cmk-customer-managed) no *Guia de conceitos básicos do Amazon DynamoDB*.

## Parâmetros
<a name="dynamodb-v2-rule-action-parameters"></a>

Ao criar uma AWS IoT regra com essa 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.  
Suporta [modelos de substituição](iot-substitution-templates.md): API e somente AWS CLI 

`roleARN`  
O perfil do IAM que permite o acesso à tabela do DynamoDB. Para obter mais informações, consulte [Requisitos](#dynamodb-v2-rule-action-requirements).  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não

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

## Exemplos
<a name="dynamodb-v2-rule-action-examples"></a>

O exemplo de JSON a seguir define uma DBv2 ação do Dynamo em uma AWS IoT regra.

```
{
    "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 de 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
<a name="dynamodb-v2-rule-action-see-also"></a>
+ [O que é o Amazon DynamoDB?](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/) no *Guia do desenvolvedor do Amazon DynamoDB*
+ [Conceitos básicos do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html) no *Guia do desenvolvedor do Amazon DynamoDB*