

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

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

Firehose 구성 요소(`aws.greengrass.KinesisFirehose`)는 Amazon Data Firehose 전송 스트림을 통해 Amazon S3, Amazon Redshift, Amazon OpenSearch Service 등의 대상에 데이터를 게시합니다. 자세한 내용은 *Amazon Data Firehose 개발자 안내서*의 [Amazon Data Firehose란?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)을 참조하세요.

이 구성 요소를 사용하여 Kinesis 전송 스트림에 게시하려면 이 구성 요소가 구독하는 주제에 메시지를 게시합니다. 기본적으로 이 구성 요소는 `kinesisfirehose/message` 및 `kinesisfirehose/message/binary/#` [로컬 게시/구독](ipc-publish-subscribe.md) 주제를 구독합니다. 이 구성 요소를 배포할 때 AWS IoT Core MQTT 주제를 포함한 다른 주제를 지정할 수 있습니다.

**참고**  
이 구성 요소는 Firehose 커넥터 in AWS IoT Greengrass V1과 유사한 기능을 제공합니다. 자세한 내용은 *AWS IoT Greengrass V1 개발자 안내서*의 [Firehose 커넥터](https://docs.aws.amazon.com/greengrass/latest/developerguide/kinesis-firehose-connector.html)를 참조하세요.

**Topics**
+ [버전](#kinesis-firehose-component-versions)
+ [Type](#kinesis-firehose-component-type)
+ [운영 체제](#kinesis-firehose-component-os-support)
+ [요구 사항](#kinesis-firehose-component-requirements)
+ [종속성](#kinesis-firehose-component-dependencies)
+ [구성](#kinesis-firehose-component-configuration)
+ [입력 데이터](#kinesis-firehose-component-input-data)
+ [출력 데이터](#kinesis-firehose-component-output-data)
+ [로컬 로그 파일](#kinesis-firehose-component-log-file)
+ [라이선스](#kinesis-firehose-component-licenses)
+ [Changelog](#kinesis-firehose-component-changelog)
+ [다음 사항도 참조하세요.](#kinesis-firehose-component-see-also)

## 버전
<a name="kinesis-firehose-component-versions"></a>

이 구성 요소에는 다음과 같은 버전이 있습니다.
+ 2.1.x
+ 2.0.x

## Type
<a name="kinesis-firehose-component-type"></a>

<a name="public-component-type-lambda"></a>이 <a name="public-component-type-lambda-phrase"></a>구성 요소는 Lambda 구성 요소(`aws.greengrass.lambda`)입니다. [Greengrass nucleus](greengrass-nucleus-component.md)에서는 [Lambda 런처 구성 요소](lambda-launcher-component.md)를 사용하여 이 구성 요소의 Lambda 함수를 실행합니다.

<a name="public-component-type-more-information"></a>자세한 내용은 [구성 요소 유형](develop-greengrass-components.md#component-types) 단원을 참조하십시오.

## 운영 체제
<a name="kinesis-firehose-component-os-support"></a>

이 구성 요소는 Linux 코어 디바이스에만 설치할 수 있습니다.

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

이 구성 요소에는 다음과 같은 요구 사항이 있습니다.
+ <a name="core-device-lambda-function-requirements"></a>Lambda 함수를 실행하려면 코어 디바이스가 요구 사항을 충족해야 합니다. 코어 디바이스에서 컨테이너화된 Lambda 함수를 실행하려면 디바이스가 요구 사항을 충족해야 합니다. 자세한 내용은 [Lambda 함수 요구 사항](setting-up.md#greengrass-v2-lambda-requirements) 단원을 참조하십시오.
+ <a name="public-component-python3-requirement"></a>코어 장치에 설치되고 PATH 환경 변수에 추가된 [Python](https://www.python.org/) 버전 3.7입니다.
+ 다음 예제 IAM 정책에 표시된 대로 [Greengrass 디바이스 역할](device-service-role.md)에서 `firehose:PutRecord` 및 `firehose:PutRecordBatch` 작업을 허용해야 합니다.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "firehose:PutRecord",
          "firehose:PutRecordBatch"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:firehose:{{us-east-1}}:{{123456789012}}:deliverystream/{{stream-name}}"
        ]
      }
    ]
  }
  ```

------

  이 구성 요소의 입력 메시지 페이로드에서 기본 전송 스트림을 동적으로 재정의할 수 있습니다. 애플리케이션에서 이 기능을 사용하는 경우 IAM 정책에 모든 대상 스트림이 리소스로 포함되어야 합니다. 리소스에 대한 세부적 또는 조건부 액세스 권한을 부여할 수 있습니다(예: 와일드카드 `*` 이름 지정 스키마를 사용해).
+ <a name="connector-component-legacy-subscription-router-dependency"></a>이 구성 요소의 출력 데이터를 수신하려면 이 구성 요소를 배포할 때 [레거시 구독 라우터 구성 요소](legacy-subscription-router-component.md)(`aws.greengrass.LegacySubscriptionRouter`)에 대한 다음 구성 업데이트를 병합해야 합니다. 이 구성에서는 이 구성 요소가 응답을 게시하는 주제를 지정합니다.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "component:aws.greengrass.KinesisFirehose",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "arn:aws:lambda:{{region}}:aws:function:aws-greengrass-kinesisfirehose:{{version}}",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + {{region}}을 사용하는 AWS 리전 로 바꿉니다.
  + {{버전}}을 이 구성 요소에서 실행되는 Lambda 함수의 버전으로 바꿉니다. Lambda 함수 버전을 찾으려면 배포하려는 이 구성 요소의 버전에 대한 레시피를 확인해야 합니다. [AWS IoT Greengrass 콘솔](https://console.aws.amazon.com//greengrass)에서 이 구성 요소의 세부 정보 페이지를 열고 **Lambda 함수** 키-값 페어를 찾습니다. 이 키-값 페어에는 Lambda 함수의 이름과 버전이 포함되어 있습니다.

**중요**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
이 구성 요소를 배포할 때마다 레거시 구독 라우터의 Lambda 함수 버전을 업데이트해야 합니다. 이를 통해 배포하는 구성 요소 버전에 맞는 올바른 Lambda 함수 버전을 사용할 수 있습니다.

------

  <a name="connector-component-create-deployments"></a>자세한 내용은 [배포 만들기](create-deployments.md) 단원을 참조하십시오.
+ Firehose 구성 요소는 VPC에서 실행할 수 있습니다. 이 구성 요소를 VPC에 배포하려면 다음이 필요합니다.
  + Firehose 구성 요소에는 VPC 엔드포인트가 `com.amazonaws.region.kinesis-firehose`인 `firehose.region.amazonaws.com`에 대한 연결이 있어야 합니다.

### 엔드포인트 및 포트
<a name="kinesis-firehose-component-endpoints"></a>

이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에 다음 엔드포인트 및 포트에 대한 아웃바운드 요청도 수행할 수 있어야 합니다. 자세한 내용은 [프록시 또는 방화벽을 통해 디바이스 트래픽 허용](allow-device-traffic.md) 단원을 참조하십시오.


| 엔드포인트 | 포트 | 필수 | 설명 | 
| --- | --- | --- | --- | 
|  `firehose.{{region}}.amazonaws.com`  | 443 | 예 |  Firehose에 데이터를 업로드합니다.  | 

## 종속성
<a name="kinesis-firehose-component-dependencies"></a>

구성 요소를 배포할 때는 호환되는 버전의 종속성 AWS IoT Greengrass 도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 섹션에는 이 구성 요소의 [릴리스된 버전](#kinesis-firehose-component-changelog)에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. [AWS IoT Greengrass 콘솔](https://console.aws.amazon.com//greengrass)에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 **종속성** 목록을 찾습니다.

------
#### [ 2.1.10 ]

다음 표에는 이 구성 요소의 버전 2.1.10에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.9 ]

다음 표에는 이 구성 요소의 버전 2.1.9에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.8 ]

다음 표에는 이 구성 요소의 버전 2.1.8에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.7 ]

다음 표에는 이 구성 요소의 버전 2.1.7에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.6 ]

다음 표에는 이 구성 요소의 버전 2.1.6에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.5 ]

다음 표에는 이 구성 요소의 버전 2.1.5에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.4 ]

다음 표에는 이 구성 요소의 버전 2.1.4에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.3 ]

다음 표에는 이 구성 요소의 버전 2.1.3에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.2 ]

다음 표에는 이 구성 요소의 버전 2.1.2에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.1.1 ]

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.8 - 2.1.0 ]

다음 표에는 이 구성 요소의 버전 2.0.8 및 2.1.0에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.7 ]

다음 표에는 이 구성 요소의 버전 2.0.7에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.6 ]

다음 표에는 이 구성 요소의 버전 2.0.6에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.5 ]

다음 표에는 이 구성 요소의 버전 2.0.5에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.4 ]

다음 표에는 이 구성 요소의 버전 2.0.4에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | ^2.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | ^2.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | ^2.0.0  | 하드 | 

------
#### [ 2.0.3 ]

다음 표에는 이 구성 요소의 버전 2.0.3에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | 하드 | 
| [Lambda 런처](lambda-launcher-component.md) | >=1.0.0  | 하드 | 
| [Lambda 런타임](lambda-runtimes-component.md) | >=1.0.0  | 소프트 | 
| [토큰 교환 서비스](token-exchange-service-component.md) | >=1.0.0  | 하드 | 

------

구성 요소 종속성에 대한 자세한 내용은 [구성 요소 레시피 참조](component-recipe-reference.md#recipe-reference-component-dependencies)를 참조하세요.

## 구성
<a name="kinesis-firehose-component-configuration"></a>

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

**참고**  <a name="connector-component-lambda-parameters"></a>
이 구성 요소의 기본 구성에는 Lambda 함수 파라미터가 포함되어 있습니다. 디바이스에서 다음 파라미터만 사용하여 이 구성 요소를 구성하는 것이 좋습니다.

`lambdaParams`  
이 구성 요소의 Lambda 함수에 대한 파라미터를 포함하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`EnvironmentVariables`  
Lambda 함수의 파라미터를 포함하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`DEFAULT_DELIVERY_STREAM_ARN`  
구성 요소가 데이터를 보내는 기본 Firehose 전송 스트림의 ARN입니다. 입력 메시지 페이로드의 `delivery_stream_arn` 속성으로 대상 스트림을 재정의할 수 있습니다.  
코어 디바이스 역할에서 모든 대상 전송 스트림에 대해 필요한 작업을 허용해야 합니다. 자세한 내용은 [요구 사항](#kinesis-firehose-component-requirements) 단원을 참조하십시오.  
`PUBLISH_INTERVAL`  
(선택 사항) 구성 요소가 Firehose에 일괄 처리된 데이터를 게시하기 전에 대기할 최대 시간(초)입니다. 지표를 받자마자 배치 처리 없이 게시하도록 구성 요소를 구성하려면 `0`을 지정합니다.  
이 값은 최대 900초가 될 수 있습니다.  
기본값: 10초  
`DELIVERY_STREAM_QUEUE_SIZE`  
(선택 사항) 구성 요소가 동일한 전송 스트림에 대한 새 레코드를 거부하기 전에 메모리에 유지할 최대 레코드 수입니다.  
이 값은 2,000개 이상 레코드여야 합니다.  
기본값: 5,000개 레코드

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(선택 사항) 이 구성 요소에 대한 컨테이너화 모드입니다. 다음 옵션 중 하나를 선택합니다.  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer` – 구성 요소가 격리된 런타임 환경에서 실행되지 않습니다.
+ `GreengrassContainer` - 구성 요소는 AWS IoT Greengrass 컨테이너 내의 격리된 런타임 환경에서 실행됩니다.
기본값: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(선택 사항) 이 구성 요소에 대한 컨테이너 파라미터를 포함하는 객체입니다. `containerMode`에 `GreengrassContainer`를 지정하면 구성 요소에서 이러한 파라미터를 사용합니다.  
이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(선택 사항) 구성 요소에 할당되는 메모리 양(킬로바이트)입니다.  
기본값은 64MB(65,535KB)입니다.

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(선택 사항) 구성 요소에서 메시지를 수신하려고 구독하는 주제를 포함하는 객체입니다. 각 주제와 구성 요소가 AWS IoT Core 또는 로컬 게시/구독 주제의 MQTT 주제를 구독하는지 여부를 지정할 수 있습니다.  
이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`0` – 문자열 형태의 배열 인덱스입니다.  
다음 정보를 포함하는 객체입니다.    
`type`  
(선택 사항) 이 구성 요소에서 메시지 구독에 사용하는 게시/구독 메시징의 유형입니다. 다음 옵션 중 하나를 선택합니다.  
+ `PUB_SUB` – 로컬 게시/구독 메시지를 구독합니다. 이 옵션을 선택하면 주제에 MQTT 와일드카드를 포함할 수 없습니다. 이 옵션을 지정할 때 사용자 지정 구성 요소에서 메시지를 보내는 방법에 대한 자세한 내용은 [로컬 메시지 게시/구독](ipc-publish-subscribe.md) 섹션을 참조하세요.
+ `IOT_CORE` - AWS IoT Core MQTT 메시지를 구독합니다. 이 옵션을 선택하면 주제에 MQTT 와일드카드를 포함할 수 없습니다. 이 옵션을 지정할 때 사용자 지정 구성 요소에서 메시지를 보내는 방법에 대한 자세한 내용은 [AWS IoT Core MQTT 메시지 게시/구독](ipc-iot-core-mqtt.md) 섹션을 참조하세요.
기본값: `PUB_SUB`  
`topic`  
(선택 사항) 구성 요소가 메시지를 수신하기 위해 구독하는 주제입니다. `type`에 `IotCore`를 지정하면 이 주제에서 MQTT 와일드카드(`+` 및 `#`)를 사용할 수 있습니다.

**Example 예: 구성 병합 업데이트(컨테이너 모드)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example 예: 구성 병합 업데이트(컨테이너 없음 모드)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "NoContainer"
}
```

## 입력 데이터
<a name="kinesis-firehose-component-input-data"></a>

이 구성 요소는 다음 주제에 대한 스트림 콘텐츠를 수락하고 이 콘텐츠를 대상 전송 스트림에 전송합니다. 구성 요소는 두 가지 유형의 입력 데이터를 수락합니다.
+ `kinesisfirehose/message` 주제에 대한 JSON 데이터.
+ `kinesisfirehose/message/binary/#` 주제에 대한 이진 데이터.

**JSON 데이터에 대한 기본 주제(로컬 게시/구독):** `kinesisfirehose/message`  
<a name="connector-component-input-properties"></a>메시지는 다음 속성을 수락합니다. 입력 메시지는 JSON 형식이어야 합니다.    
`request`  
기본 스트림과 다른 경우 전송 스트림과 대상 전송 스트림으로 보낸 데이터입니다.  
유형: 다음 정보를 포함하는 `object`입니다.    
`data`  
전송 스트림으로 보낸 데이터입니다.  
유형: `string`  
`delivery_stream_arn`  
(선택 사항) 대상 Firehose 전송 스트림의 ARN입니다. 기본 전송 스트림을 재정의하려면 이 속성을 지정합니다.  
유형: `string`  
`id`  <a name="connector-component-input-property-id"></a>
요청에 대한 임의의 ID입니다. 이 속성을 사용하여 입력 요청을 출력 응답에 매핑할 수 있습니다. 이 속성을 지정하면 구성 요소는 응답 객체의 `id` 속성을 해당 값으로 설정합니다.  
유형: `string`

**Example 입력 예**  

```
{
  "request": {
    "delivery_stream_arn": "arn:aws:firehose:{{region}}:{{account-id}}:deliverystream/stream2-name",
    "data": "Data to send to the delivery stream."
  },
  "id": "request123"
}
```

**이진 데이터에 대한 기본 주제(로컬 게시/구독):** `kinesisfirehose/message/binary/#`  
이 주제는 이진 데이터가 포함된 메시지를 보내는데 사용합니다. 이 구성 요소는 이진 데이터를 구문 분석하지 않습니다. 구성 요소는 데이터를 있는 그대로 스트리밍합니다.  
입력 요청을 출력 응답에 매핑하려면 메시지 주제의 `#` 와일드카드를 임의의 요청 ID로 바꿉니다. 예를 들어, 메시지를 `kinesisfirehose/message/binary/request123`에 게시한 경우 응답 객체의 `id` 속성이 `request123`으로 설정됩니다.  
요청을 응답에 매핑하지 않으려는 경우에는 메시지를 `kinesisfirehose/message/binary/`에 게시할 수 있습니다. 반드시 후행 슬래시(`/`)를 포함해야 합니다.

## 출력 데이터
<a name="kinesis-firehose-component-output-data"></a>

 <a name="connector-component-output-data"></a>이 구성 요소는 기본적으로 다음 MQTT 주제에 대한 출력 데이터로 응답을 게시합니다. [레거시 구독 라우터 구성 요소](legacy-subscription-router-component.md)의 구성에서 이 주제를 `subject`로 지정해야 합니다. 사용자 지정 구성 요소에서 이 주제에 대한 메시지를 구독하는 방법에 대한 자세한 내용은 [AWS IoT Core MQTT 메시지 게시/구독](ipc-iot-core-mqtt.md) 섹션을 참조하세요.

**기본 주제(AWS IoT Core MQTT):** `kinesisfirehose/message/status`

**Example 출력 예시**  
응답에는 배치로 전송된 각 데이터 레코드의 상태가 포함됩니다.  

```
{
  "response": [
    {
      "ErrorCode": "error",
      "ErrorMessage": "test error",
      "id": "request123",
      "status": "fail"
    },
    {
      "firehose_record_id": "xyz2",
      "id": "request456",
      "status": "success"
    },
    {
      "firehose_record_id": "xyz3",
      "id": "request890",
      "status": "success"
    }
  ]
}
```

**참고**  <a name="connector-component-retryable-error"></a>
구성 요소에서는 연결 오류와 같은 재시도할 수 있는 오류가 감지되면 다음 배치에서 게시를 다시 시도합니다.

## 로컬 로그 파일
<a name="kinesis-firehose-component-log-file"></a>

이 구성 요소는 다음 로그 파일을 사용합니다.

```
{{/greengrass/v2}}/logs/aws.greengrass.KinesisFirehose.log
```

**이 구성 요소의 로그를 보려면**
+ 코어 디바이스에서 다음 명령을 실행하여 실시간으로 이 구성 요소의 로그 파일을 봅니다. 를 AWS IoT Greengrass 루트 폴더의 경로`{{/greengrass/v2}}`로 바꿉니다.

  ```
  sudo tail -f {{/greengrass/v2}}/logs/aws.greengrass.KinesisFirehose.log
  ```

## 라이선스
<a name="kinesis-firehose-component-licenses"></a>

이 구성 요소에는 다음 타사 소프트웨어/라이선스가 포함되어 있습니다.<a name="boto-3-licenses"></a>
+ [AWS SDK for Python (Boto3)](https://pypi.org/project/boto3/)/Apache 라이선스 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache 라이선스 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF 라이선스
+ [docutils](https://pypi.org/project/docutils/)/BSD 라이선스, GNU 일반 공개 라이선스(GPL), Python Software Foundation 라이선스, 퍼블릭 도메인
+ [jmespath](https://pypi.org/project/jmespath/)/MIT 라이선스
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache 라이선스 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT 라이선스

<a name="component-core-software-license"></a>이 구성 요소는 [Greengrass 코어 소프트웨어 라이선스 계약](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)에 따라 릴리스됩니다.

## Changelog
<a name="kinesis-firehose-component-changelog"></a>

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.


|  **버전**  |  **변경 사항**  | 
| --- | --- | 
|  2.1.10  | Greengrass nucleus 버전 2.15.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.9  | Greengrass nucleus 버전 2.14.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.8  | Greengrass nucleus 버전 2.13.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.7  | Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.6  | Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.5  | Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.4  | Greengrass nucleus 버전 2.9.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.3  | Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.2  |  Greengrass nucleus 버전 2.7.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.1.1  |  Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.1.0  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/kinesis-firehose-component.html)  | 
|  2.0.8  |  Greengrass nucleus 버전 2.5.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.7  |  Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.6  |  Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.5  |  Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.4  |  Greengrass nucleus 버전 2.1.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.3  |  초기 버전입니다.  | 

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