기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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" } } ] } }
다음 사항도 참조하세요.
-
Amazon Kinesis Data Firehose 개발자 가이드의 Amazon Kinesis Data Firehose란?