

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

DynamoDBv2(`dynamoDBv2`) 작업은 MQTT 메시지의 전체 또는 일부를 Amazon DynamoDB 테이블에 전송합니다. 페이로드의 각 속성은 DynamoDB 데이터베이스의 개별 열에 기록됩니다.

## 요구 사항
<a name="dynamodb-v2-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `dynamodb:PutItem` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

   AWS IoT 콘솔에서가이 규칙 작업을 수행하도록 허용하는 역할을 선택하거나 생성할 수 AWS IoT 있습니다.
+ MQTT 메시지 페이로드는 테이블의 기본 파티션 키와 일치하는 루트 수준 키, 그리고 정의된 경우 테이블의 기본 정렬 키와 일치하는 루트 수준 키를 포함해야 합니다.
+ 고객 관리형 AWS KMS key (KMS 키)를 사용하여 DynamoDB에서 저장 데이터를 암호화하는 경우 호출자를 대신하여 KMS 키를 사용할 수 있는 권한이 서비스에 있어야 합니다. 자세한 내용은 *Amazon DynamoDB 시작 안내서*의 [고객 관리형 KMS 키](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html#managed-cmk-customer-managed)를 참조하세요.

## 파라미터
<a name="dynamodb-v2-rule-action-parameters"></a>

이 작업을 사용하여 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.

`putItem`  
메시지 데이터를 작성할 DynamoDB 테이블을 지정하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`tableName`  
DynamoDB 테이블의 이름입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: API 및 AWS CLI 만 해당

`roleARN`  
DynamoDB 테이블에 대한 액세스를 허용하는 IAM 역할입니다. 자세한 내용은 [요구 사항](#dynamodb-v2-rule-action-requirements) 단원을 참조하세요.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니요

DynamoDB 테이블에 기록된 데이터는 규칙 내 SQL 문의 결과입니다.

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

다음 JSON 예제는 AWS IoT 규칙에서 DynamoDBv2 작업을 정의합니다.

```
{
    "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", 
                }
            }
        ]
    }
}
```

다음 JSON 예제에서는 AWS IoT 규칙에서 대체 템플릿을 사용하여 DynamoDB 작업을 정의합니다.

```
{
    "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"
                }
            }
        ]
    }
}
```

## 다음 사항도 참조하세요.
<a name="dynamodb-v2-rule-action-see-also"></a>
+ *Amazon DynamoDB 개발자 안내서*의 [Amazon DynamoDB란 무엇입니까?](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/)
+ *Amazon DynamoDB 개발자 안내서*의 [DynamoDB 시작하기](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html)