

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

# aws-apigateway-키네시스스트림
<a name="aws-apigateway-kinesisstreams"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/experimental.png)


 모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다[의미 체계 버전](https://semver.org/)모델을 사용해 보세요. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

**참고:** 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.


|  **언어**  |  **패키지**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/typescript.png) 타이프 스크립트  |  @aws-solutions-constructs/aws-apigateway-kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaykinesisstreams  | 

## Overview
<a name="overview-29"></a>

 이 패턴은 Amazon Kinesis 데이터 스트림에 연결된 Amazon API 게이트웨이 REST API를 구현합니다.

 다음은 TypeScript 터의 최소 배포 가능한 패턴 정의입니다.

```
import { ApiGatewayToKinesisStreams, ApiGatewayToKinesisStreamsProps } from '@aws-solutions-constructs/aws-apigateway-kinesisstreams';

new ApiGatewayToKinesisStreams(this, 'test-apigw-kinesis', {});
```

## Initializer
<a name="initializer-29"></a>

```
new ApiGatewayToKinesisStreams(scope: Construct, id: string, props: ApiGatewayToKinesisStreamsProps);
```

 *파라미터* 
+  scope[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToKinesisStreamsProps`](#pattern-construct-props-29) 

## 패턴 구성
<a name="pattern-construct-props-29"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  아피가트웨이 소품? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway REST API의 기본 소품을 재정의하는 선택적 사용자 제공 소품입니다. | 
|  입력코드 요청 템플릿? |  string  |  PutRecord 작업에 대한 API Gateway 요청 템플릿입니다. 제공되지 않으면 기본 값이 사용됩니다. | 
|  입력 코드 요청 모델? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  PutRecord 작업에 대한 API Gateway 요청 모델입니다. 제공되지 않으면 기본 항목이 생성됩니다. | 
|  푸트코드요청 템플릿? |  string  |  PutRecords 작업에 대한 API Gateway 요청 템플릿입니다. 제공되지 않으면 기본 값이 사용됩니다. | 
|  입력 코드 요청 모델? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  PutRecords 작업에 대한 API Gateway 요청 모델입니다. 제공되지 않으면 기본 항목이 생성됩니다. | 
|  기존스트리모브? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Kinesis Stream의 기존 인스턴스로, 이 인스턴스와kinesisStreamProps를 사용해 오류가 발생합니다. | 
|  키네시스스트림프롭스? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Kinesis 스트림의 기본 소품을 재정의하는 선택적 사용자 제공 소품입니다. | 
|  로그그룹Props? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  선택적 사용자가 제공한 소품을 CloudWatch Logs 로그 그룹에 대한 기본 소품을 무시합니다. | 

## 패턴 속성
<a name="pattern-properties-29"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  패턴에 의해 생성 된 API Gateway REST API의 인스턴스를 돌려줍니다. | 
|  에이피게이트 웨이의 역할  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API의 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다. | 
|  APIGateway클라우드워치역할  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API에서 CloudWatch 로의 액세스 로깅을 활성화하는 패턴으로 생성된 IAM 역할의 인스턴스를 반환합니다. | 
|  에이피가트웨이로그 그룹  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API 액세스 로그가 전송되는 패턴으로 생성된 로그 그룹의 인스턴스를 반환합니다. | 
|  키네시스스트림  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  패턴에 의해 생성된 Kinesis 스트림의 인스턴스를 반환합니다. | 

## 샘플 API 사용
<a name="sample-api-usage"></a>


|  **방법**  |  **요청 경로**  |  **요청 본문**  |  **대기열 작업**  |  **설명**  | 
| --- | --- | --- | --- | --- | 
|  POST  |  /record  |  <pre>{ <br />  "data": "Hello World!", <br />  "partitionKey": "pk001"<br />}</pre>  |  kinesis:PutRecord  |  단일 데이터 레코드를 스트림에 씁니다. | 
|  POST  |  /records  |  <pre>{ <br />    "records": [<br />      { "data": "abc", <br />        "partitionKey": "pk001" <br />      }, <br />      { "data": "xyz", <br />        "partitionKey": "pk001" <br />      }<br />     ] <br />}</pre>  |  kinesis:PutRecords  |  단일 호출로 스트림에 여러 데이터 레코드를 기록합니다. | 

## 기본 설정
<a name="default-settings-29"></a>

 재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

### Amazon API Gateway
<a name="amazon-api-gateway-29"></a>
+  엣지 최적화 API 엔드포인트를 배포합니다.
+  API Gateway 대해 CloudWatch 로깅을 사용하도록 설정합니다.
+  API Gateway 대한 최소 권한 액세스 IAM 역할을 구성합니다.
+  모든 API 메소드의 기본 권한 부여 유형을 IAM으로 설정합니다.
+  X-Ray 추적을 사용합니다.
+  Kinesis 에 데이터를 전달하기 전에 요청 본문의 유효성을 검사합니다 

### Amazon Kinesis Data Stream
<a name="amazon-sqs-queue"></a>
+  Kinesis 스트림에 대한 최소 권한 액세스 IAM 역할을 구성합니다.
+  AWS 관리형 KMS 키를 사용하여 Kinesis 스트림에 대한 서버 측 암호화를 활성화합니다.

## Architecture
<a name="architecture-29"></a>

![\[Diagram showing data flow between cloud search, code analysis, and network components.\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/aws-apigateway-kinesisstreams.png)


## GitHub
<a name="github-29"></a>


|  **이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다.**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -솔루션 - 구성/aws-apigateway - 키네시스스트림](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-kinesisstreams)  | 