Firehose - AWS IoT Core

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

Firehose

Firehose(firehose) 작업은 MQTT 메시지의 데이터를 Amazon Data Firehose 스트림으로 전송합니다.

요구 사항

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

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

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

  • Firehose를 사용하여 Amazon S3 버킷으로 데이터를 전송하고 Amazon S3에 저장된 데이터를 AWS KMS key 암호화하는 고객 관리형을 AWS KMS 사용하는 경우 Firehose는 버킷에 액세스하고 호출자를 대신하여 AWS KMS key 를 사용할 수 있는 권한이 있어야 합니다. 자세한 내용은 Amazon Data Firehose 개발자 안내서Firehose에 Amazon S3 대상에 대한 액세스 권한 부여를 참조하세요.

파라미터

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

batchMode

(선택 사항) PutRecordBatch를 사용하여 Firehose 스트림을 배치로 전송할지 여부입니다. 기본값은 false입니다.

batchMode true 이고 규칙의 SQL 문이 배열로 평가되면 각 배열 요소는 PutRecordBatch 요청에 하나의 레코드를 형성합니다. 결과 배열의 레코드는 500개를 초과할 수 없습니다.

대체 템플릿 지원: 아니요

deliveryStreamName

메시지 데이터를 기록할 Firehose 스트림입니다.

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

separator

(선택 사항) Firehose 스트림에 기록된 레코드를 구분하는 데 사용할 문자 구분 기호입니다. 이 파라미터를 생략하면 스트림에서 구분 기호를 사용하지 않습니다. 유효한 값: ,(쉼표) \t(탭), \n(줄 바꿈) \r\n(Windows 줄 바꿈).

대체 템플릿 지원: 아니요

roleArn

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

대체 템플릿 지원: 아니오

예시

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

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "deliveryStreamName": "my_firehose_stream", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_firehose" } } ] } }

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

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

다음 사항도 참조하세요.