

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

# Firehose
<a name="kinesis-firehose-rule-action"></a>

Firehose(`firehose`) 작업을 사용하여 MQTT 메시지의 데이터를 Amazon Data Firehose 스트림에 전송합니다.

## 요구 사항
<a name="kinesis-firehose-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `firehose:PutRecord` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

   AWS IoT 콘솔에서 역할을 선택하거나 생성하여가이 규칙 작업을 수행하도록 허용할 수 AWS IoT 있습니다.
+ Firehose를 사용하여 Amazon S3 버킷으로 데이터를 전송하고 고객 관리형를 AWS KMS 사용하여 Amazon S3에 저장된 데이터를 AWS KMS key 암호화하는 경우 Firehose는 버킷에 대한 액세스 권한과 호출자를 대신하여를 사용할 수 있는 AWS KMS key 권한이 있어야 합니다. 자세한 내용은 *Amazon Data Firehose 개발자 안내서*의 [Firehose에 Amazon S3 대상에 대한 액세스 권한 부여](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3)를 참조하세요.

## 파라미터
<a name="kinesis-firehose-rule-action-parameters"></a>

이 작업을 사용하여 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.

`batchMode`  
(선택 사항) [https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html)를 사용하여 Firehose 스트림을 배치로 전송할지 여부입니다. 기본값은 `false`입니다.  
`batchMode`가 `true`이고 규칙의 SQL 문이 Array로 평가되는 경우 각 Array 요소는 `PutRecordBatch` 요청에서 하나의 레코드를 형성합니다. 결과 배열의 레코드는 500개를 초과할 수 없습니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니요

`deliveryStreamName`  
메시지 데이터를 기록할 Firehose 스트림입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: API 및 AWS CLI 만 해당

`separator`  
(선택 사항) Firehose 스트림에 기록된 레코드를 구분하는 데 사용할 문자 구분 기호입니다. 이 파라미터를 생략하면 스트림에서 구분 기호를 사용하지 않습니다. 유효한 값: `,`(쉼표) `\t`(탭), `\n`(줄 바꿈) `\r\n`(Windows 줄 바꿈).  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니요

`roleArn`  
Firehose 스트림에 대한 액세스 권한을 부여하는 IAM 역할입니다. 자세한 내용은 [요구 사항](#kinesis-firehose-rule-action-requirements) 단원을 참조하십시오.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니오

## 예제
<a name="kinesis-firehose-rule-action-examples"></a>

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

## 다음 사항도 참조하세요.
<a name="kinesis-firehose-rule-action-see-also"></a>
+ *Amazon Kinesis Data Firehose 개발자 가이드*의 [Amazon Kinesis Data Firehose란?](https://docs.aws.amazon.com/firehose/latest/dev/)