DynamoDBv2 - AWS IoT Core

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

DynamoDBv2

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

요구 사항

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.

  • dynamodb:PutItem 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 AWS IoT 규칙에 필요한 액세스 권한 부여 단원을 참조하십시오.

    AWS IoT 콘솔에서가이 규칙 작업을 수행하도록 허용하는 역할을 선택하거나 생성할 수 AWS IoT 있습니다.

  • MQTT 메시지 페이로드에는 테이블의 기본 파티션 키와 일치하는 루트 수준 키와 테이블의 기본 정렬 키가 정의된 경우 테이블의 기본 정렬 키와 일치하는 루트 수준 키가 포함되어야 합니다.

  • 고객 관리형 AWS KMS key (KMS 키)를 사용하여 DynamoDB에서 저장 데이터를 암호화하는 경우, 서비스에 호출자를 대신하여 KMS 키를 사용할 수 있는 권한이 있어야 합니다. 자세한 내용은 Amazon DynamoDB 시작 안내서의 고객 관리형 KMS 키를 참조하세요. DynamoDB

파라미터

이 작업으로 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.

putItem

메시지 데이터를 작성할 DynamoDB 테이블을 지정하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

tableName

DynamoDB 테이블의 이름입니다.

대체 템플릿: API 및 AWS CLI 만 지원

roleARN

DynamoDB 테이블에 대한 액세스를 허용하는 IAM 역할입니다. 자세한 내용은 요구 사항 단원을 참조하십시오.

대체 템플릿 지원: 아니오

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

예시

다음 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" } } ] } }

다음 사항도 참조하세요.