

신중한 고려 끝에 Amazon Kinesis Data Analytics for SQL 애플리케이션을 중단하기로 결정했습니다.

1. **2025년 9월 1**일부터 Amazon Kinesis Data Analytics for SQL 애플리케이션에 대한 버그 수정은 제공되지 않습니다. 곧 중단될 예정이므로 지원이 제한될 예정이기 때문입니다.

2. **2025년 10월 15**일부터 새 Kinesis Data Analytics for SQL 애플리케이션을 생성할 수 없습니다.

3. **2026년 1월 27**일부터 애플리케이션이 삭제됩니다. Amazon Kinesis Data Analytics for SQL 애플리케이션을 시작하거나 작동할 수 없게 됩니다. 그 시점부터 Amazon Kinesis Data Analytics for SQL에 대한 지원을 더 이상 이용할 수 없습니다. 자세한 내용은 [Amazon Kinesis Data Analytics for SQL 애플리케이션 단종](discontinuation.md) 단원을 참조하십시오.

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

# 예: 참조 데이터를 Kinesis Data Analytics 애플리케이션에 추가
<a name="app-add-reference-data"></a>

이 연습에서는 참조 데이터를 기존 Kinesis Data Analytics 애플리케이션에 추가합니다. 참조 데이터에 대한 정보는 다음 주제를 참조하십시오:
+ [Amazon Kinesis Data Analytics for SQL 애플리케이션: 작동 방식](how-it-works.md)
+ [애플리케이션 입력 구성](how-it-works-input.md)

이 연습에서는 Kinesis Data Analytics [시작하기](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/get-started-exercise.html) 연습에서 생성한 애플리케이션에 참조 데이터를 추가합니다. 참조 데이터는 각 티커 기호에 회사 명칭을 부여합니다; 예:

```
Ticker, Company
AMZN,Amazon
ASD, SomeCompanyA
MMB, SomeCompanyB
WAS,  SomeCompanyC
```

우선 [시작하기](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/get-started-exercise.html) 연습의 단계를 완료하여 스타터 애플리케이션을 생성합니다. 그런 다음 이러한 단계를 따라 참조 데이터를 설정하고 애플리케이션에 추가합니다.

1. **데이터 준비**
   + Amazon Simple Storage Service (Amazon S3) 의 객체로 저장합니다.
   + Kinesis Data Analytics가 사용자를 대신하여 Amazon S3 객체를 읽을 수 있도록 IAM 역할을 생성합니다.

1. **참조 데이터 소스를 애플리케이션에 추가합니다. ** 

   Kinesis Data Analytics는 Amazon S3 객체를 읽고 애플리케이션 코드에서 쿼리할 수 있는 애플리케이션 내 참조 표를 생성합니다.

1. **코드를 테스트합니다.**

   애플리케이션 코드에서 조인 쿼리를 작성하여 애플리케이션 내 스트림을 애플리케이션 내 참조 표와 조인시켜 회사 명칭에 각 티커 기호를 부여합니다.

**Topics**
+ [1단계: 준비](#add-refdata-prepare)
+ [2단계: 참조 데이터 원본을 애플리케이션 구성에 추가](#add-refdata-create-iamrole)
+ [3단계: 애플리케이션 내 참조 표 쿼리 테스트](#add-refdata-test)

## 1단계: 준비
<a name="add-refdata-prepare"></a>

이 섹션에서는 샘플 참조 데이터를 Amazon S3 버킷에 객체로 저장합니다. Kinesis Data Analytics가 사용자를 대신하여 객체를 읽을 수 있도록 IAM 역할을 생성합니다.

### 참조 데이터를 Amazon S3 객체로 저장
<a name="prepare-create-s3object"></a>

이 단계에서는 샘플 참조 데이터를 Amazon S3 객체로 저장합니다.

1. 텍스트 편집기를 열고 다음 데이터를 추가한 다음 파일을 `TickerReference.csv`로 저장합니다.

   ```
   Ticker, Company
   AMZN,Amazon
   ASD, SomeCompanyA
   MMB, SomeCompanyB
   WAS,  SomeCompanyC
   ```

   

1. `TickerReference.csv` 파일을 S3 버킷에 업로드합니다. *Amazon Simple Storage Service 사용자 가이드*에서 [Amazon S3로 객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html)를 참조하십시오.

### IAM 역할 생성
<a name="prepare-create-iamrole"></a>

다음으로, Kinesis Data Analytics가 사용자를 대신하여 Amazon S3 객체를 읽을 수 있도록 IAM 역할을 생성합니다.

1.  AWS Identity and Access Management (IAM)에서 라는 IAM 역할을 생성합니다**KinesisAnalytics-ReadS3Object**. 이 역할을 생성하려면 *IAM 사용자 가이드*에서 [Amazon 서비스를 위한 역할 생성 (AWS Management Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)의 지침을 따르십시오.

   IAM 콘솔에서 다음을 지정합니다:
   + **역할 유형 선택**에서 **AWS Lambda**을 선택합니다. 역할을 생성한 후 신뢰 정책을 변경하여 Kinesis Data Analytics(그렇지 않음 AWS Lambda)가 역할을 수임하도록 허용합니다.
   + [**Attach Policy**] 페이지에서 정책을 연결하지 않습니다.

1. IAM 역할 정책 업데이트:

   

   1. IAM 콘솔에서 생성한 역할을 선택합니다.

   1. **신뢰 관계** 탭에서 신뢰 정책을 업데이트하여 Kinesis Data Analytics에게 역할을 맡을 권한을 부여합니다. 신뢰 정책은 다음과 같습니다:

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "kinesisanalytics.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

------

      

   1. **허락** 탭에서 **AmazonS3ReadOnlyAccess**라고 하는 Amazon 관리형 정책을 연결합니다. 이렇게 하면 Amazon S3 객체를 읽을 수 있는 역할 권한이 부여됩니다. 이 정책은 다음과 같습니다.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "s3:Get*",
              "s3:List*"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

## 2단계: 참조 데이터 원본을 애플리케이션 구성에 추가
<a name="add-refdata-create-iamrole"></a>

이 단계에서는 애플리케이션 구성에 참조 데이터 원본을 추가합니다. 시작하려면 다음 정보가 필요합니다.
+ S3 버킷 명칭 및 객체 키 명칭
+ IAM 역할 Amazon 리소스 이름(ARN)

1. 애플리케이션의 기본 페이지에서 **Connect reference data(참조 데이터 연결)**를 선택합니다.

1. **참조 데이터 리소스 연결** 페이지에서 참조 데이터 객체가 포함된 Amazon S3 버킷을 선택하고 객체의 키 명칭을 입력합니다.

1. **애플리케이션 내 참조 표 명칭**에 **CompanyName**을 입력합니다.

1. **Access to chosen resources(선택한 리소스에 액세스)** 섹션에서 **Choose from IAM roles that Kinesis Analytics can assume(Kinesis Analytics가 수임할 수 있는 IAM 역할 중에 선택)**을 선택하고, 이전 섹션에서 생성한 **KinesisAnalytics-ReadS3Object** IAM 역할을 선택합니다.

1. **Discover schema(스키마 발견)**를 선택합니다. 콘솔에서 참조 데이터에 있는 두 개의 열이 감지됩니다.

1. [**Save and close**]를 선택합니다.

## 3단계: 애플리케이션 내 참조 표 쿼리 테스트
<a name="add-refdata-test"></a>

이제 애플리케이션 내 참조 표 `CompanyName`을 쿼리할 수 있습니다. 참조 정보를 활용하여 티커 가격 데이터를 참조 표에 조인하면 애플리케이션을 보강할 수 있습니다. 결과는 회사 명칭을 표시합니다.

1. 애플리케이션 코드를 다음으로 대체합니다. 쿼리가 애플리케이션 내 입력 스트림을 애플리케이션 내 참조 표와 조인시킵니다. 애플리케이션 코드가 결과를 또 다른 애플리케이션 내 스트림 `DESTINATION_SQL_STREAM`에 작성합니다.

   ```
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), "Company" varchar(20), sector VARCHAR(12), change DOUBLE, price DOUBLE);
   
   CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"
      SELECT STREAM ticker_symbol, "c"."Company", sector, change, price
      FROM "SOURCE_SQL_STREAM_001" LEFT JOIN "CompanyName" as "c"
      ON "SOURCE_SQL_STREAM_001".ticker_symbol = "c"."Ticker";
   ```

1. 애플리케이션 출력이 [**SQLResults**] 탭에 표시되는지 확인합니다. 일부 행이 회사 명칭을 표시하는지 확인합니다(샘플 참조 데이터가 모든 회사 명칭을 가지고 있지는 않습니다).