DynamoDB - AWS IoT Core

DynamoDB

DynamoDB(dynamoDB) 작업은 MQTT 메시지의 전체 또는 일부를 Amazon DynamoDB 테이블에 씁니다.

DynamoDB 작업을 사용하여 규칙을 생성하고 테스트하는 방법을 자습서에서 확인할 수 있습니다. 자세한 내용은 자습서: DynamoDB 테이블에 디바이스 데이터 저장 섹션을 참조하세요.

참고

이 규칙은 비 JSON 데이터를 이진 데이터로 DynamoDB에 씁니다. DynamoDB 콘솔은 데이터를 Base64 인코딩된 텍스트로 표시합니다.

요구 사항

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

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

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

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

파라미터

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

tableName

DynamoDB 테이블의 이름입니다.

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

hashKeyField

해시 키(파티션 키라고도 함)의 이름입니다.

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

hashKeyType

(선택 사항) 해시 키(파티션 키라고도 함)의 데이터 형식입니다. 유효한 값: STRING, NUMBER.

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

hashKeyValue

해시 키의 값입니다. ${topic()} 또는 ${timestamp()} 같은 대체 템플릿 사용을 고려하세요.

대체 템플릿 지원: 예

rangeKeyField

(선택 사항) 범위 키(정렬 키라고도 함)의 이름입니다.

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

rangeKeyType

(선택 사항) 범위 키(정렬 키라고도 함)의 데이터 형식입니다. 유효한 값: STRING, NUMBER.

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

rangeKeyValue

(선택 사항) 범위 키의 값입니다. ${topic()} 또는 ${timestamp()} 같은 대체 템플릿 사용을 고려하세요.

대체 템플릿 지원: 예

payloadField

(선택 사항) 페이로드가 기록될 열 이름입니다. 이 값을 생략할 경우 페이로드가 payload라는 열에 기록됩니다.

대체 템플릿 지원: 예

operation

(선택 사항) 수행할 작업의 유형입니다. 유효한 값: INSERT, UPDATE, DELETE.

대체 템플릿 지원: 예

roleARN

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

대체 템플릿 지원: 아니요

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

예시

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

{ "topicRulePayload": { "sql": "SELECT * AS message FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDB": { "tableName": "my_ddb_table", "hashKeyField": "key", "hashKeyValue": "${topic()}", "rangeKeyField": "timestamp", "rangeKeyValue": "${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDB" } } ] } }

다음 사항도 참조하세요.