예: 참조 데이터를 Kinesis Data Analytics 애플리케이션에 추가 - Amazon Kinesis Data Analytics for SQL Applications 개발자 안내서

신중한 고려 끝에 두 단계로 Amazon Kinesis Data Analytics for SQL applications를 중단하기로 결정했습니다.

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

2. 2026년 1월 27일부터 애플리케이션이 삭제됩니다. SQL 애플리케이션용 Amazon Kinesis Data Analytics를 시작하거나 작동할 수 없습니다. 해당 시점부터 에 대한 Amazon Kinesis Data AnalyticsSQL에 대한 지원을 더 이상 사용할 수 없습니다. 자세한 내용은 Amazon Kinesis Data Analytics for SQL Applications 중단 단원을 참조하십시오.

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

예: 참조 데이터를 Kinesis Data Analytics 애플리케이션에 추가

이 연습에서는 참조 데이터를 기존 Kinesis Data Analytics 애플리케이션에 추가합니다. 참조 데이터에 대한 정보는 다음 주제를 참조하십시오:

이 연습에서는 Kinesis Data Analytics 시작하기 연습에서 생성한 애플리케이션에 참조 데이터를 추가합니다. 참조 데이터는 각 티커 기호에 회사 명칭을 부여합니다; 예:

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

우선 시작하기 연습의 단계를 완료하여 스타터 애플리케이션을 생성합니다. 그런 다음 이러한 단계를 따라 참조 데이터를 설정하고 애플리케이션에 추가합니다.

  1. 데이터 준비

    • Amazon Simple Storage Service (Amazon S3) 의 객체로 저장합니다.

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

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

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

  3. 코드를 테스트합니다.

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

1단계: 준비

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

참조 데이터를 Amazon S3 객체로 저장

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

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

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

  2. TickerReference.csv 파일을 S3 버킷에 업로드합니다. Amazon Simple Storage Service 사용자 가이드에서 Amazon S3로 객체 업로드를 참조하세요.

IAM 역할 생성

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

  1. AWS Identity and Access Management (IAM)에서는 KinesisAnalytics-ReadS3Object라는 IAM 역할을 생성합니다. 이 역할을 생성하려면 IAM 사용자 가이드에서 Amazon 서비스를 위한 역할 생성 (AWS Management Console)의 지침을 따르십시오.

    IAM 콘솔에서 다음을 지정합니다:

    • 역할 유형 선택에서 AWS Lambda을 선택합니다. 역할을 생성한 후에 Kinesis Data Analytics(AWS Lambda 아님)가 해당 역할을 맡도록 신뢰 정책을 변경합니다.

    • [Attach Policy] 페이지에서 정책을 연결하지 않습니다.

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

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

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

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

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

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

2단계: 참조 데이터 원본을 애플리케이션 구성에 추가

이 단계에서는 애플리케이션 구성에 참조 데이터 원본을 추가합니다. 시작하려면 다음 정보가 필요합니다.

  • S3 버킷 명칭 및 객체 키 명칭

  • IAM 역할 Amazon 리소스 이름(ARN)

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

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

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

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

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

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

3단계: 애플리케이션 내 참조 표 쿼리 테스트

이제 애플리케이션 내 참조 표 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";
  2. 애플리케이션 출력이 [SQLResults] 탭에 표시되는지 확인합니다. 일부 행이 회사 명칭을 표시하는지 확인합니다(샘플 참조 데이터가 모든 회사 명칭을 가지고 있지는 않습니다).