Kinesis Data Streams - AWS IoT Core

Kinesis Data Streams

Kinesis Data Streams(kinesis) 규칙 작업은 MQTT 메시지의 데이터를 Amazon Kinesis Data Streams에 전송합니다.

요구 사항

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

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

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

  • AWS KMS 고객 관리형 AWS KMS key를 사용하여 Kinesis Data Streams에서 저장 데이터를 암호화하는 경우 호출자를 대신하여 AWS KMS key를 사용할 수 있는 권한이 서비스에 있어야 합니다. 자세한 내용은 Amazon Kinesis Data Streams 개발자 안내서사용자 생성 AWS KMS keys를 사용할 수 있는 권한을 참조하세요.

파라미터

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

stream

데이터를 기록할 Kinesis 데이터 스트림입니다.

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

partitionKey

어느 샤드에 데이터를 기록할지 결정하는 데 사용되는 파티션 키입니다. 파티션 키는 일반적으로 표현식(예: ${topic()} 또는 ${timestamp()})으로 구성됩니다.

대체 템플릿 지원: 예

roleArn

AWS IoT에 Kinesis 데이터 스트림에 대한 액세스 권한을 부여하는 IAM 역할의 ARN입니다. 자세한 내용은 요구 사항 단원을 참조하세요.

대체 템플릿 지원: 아니오

예시

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

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "my_kinesis_stream", "partitionKey": "${topic()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }

다음 JSON 예제는 AWS IoT 규칙에서 대체 템플릿을 통해 Kinesis 작업을 정의합니다.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "${topic()}", "partitionKey": "${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }

다음 사항도 참조하세요.