신중한 고려 끝에 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 애플리케이션 단종 단원을 참조하십시오.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
1단계: 데이터 준비
이 예의 경우 Amazon Kinesis Data Analytics 애플리케이션을 생성하기 전에 애플리케이션의 스트리밍 소스로 사용할 Kinesis 데이터 스트림을 생성합니다. 또한 Python 코드를 실행하여 시뮬레이션된 혈압 데이터를 스트림에 작성합니다.
1.1단계: Kinesis 데이터 스트림 생성
이 섹션에서는 ExampleInputStream
이라는 Kinesis 데이터 스트림을 생성합니다. AWS Management Console 또는를 사용하여이 데이터 스트림을 생성할 수 있습니다 AWS CLI.
-
콘솔을 사용하려면:
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/kinesis
Kinesis 콘솔을 엽니다. -
탐색 창에서 Data Streams(데이터 스트림)를 선택합니다. 그런 다음 Kinesis 스트림 생성을 선택합니다.
-
명칭에는
ExampleInputStream
을(를) 입력합니다. 샤드 수에는1
을(를) 입력합니다.
-
또는 AWS CLI 를 사용하여 데이터 스트림을 생성하려면 다음 명령을 실행합니다.
$ aws kinesis create-stream --stream-name ExampleInputStream --shard-count 1
1.2단계: 샘플 레코드를 입력 스트림에 작성
이 단계에서는 Python 코드를 실행하여 샘플 레코드를 연속적으로 생성하고 생성한 데이터 스트림에 작성합니다.
-
Python 및 pip를 설치합니다.
Python 설치에 관한 자세한 설명은 Python
을 참조하십시오. pip를 사용하여 종속 프로그램을 설치할 수 있습니다. pip 설치에 관한 자세한 설명은 pip 설명서의 설치
를 참조하십시오. -
다음 Python 코드를 실행합니다. 리전은 이 예에서 사용할 리전으로 변경할 수 있습니다. 코드에 있는
put-record
명령이 JSON 레코드를 스트림에 작성합니다.from enum import Enum import json import random import boto3 STREAM_NAME = "ExampleInputStream" class PressureType(Enum): low = "LOW" normal = "NORMAL" high = "HIGH" def get_blood_pressure(pressure_type): pressure = {"BloodPressureLevel": pressure_type.value} if pressure_type == PressureType.low: pressure["Systolic"] = random.randint(50, 80) pressure["Diastolic"] = random.randint(30, 50) elif pressure_type == PressureType.normal: pressure["Systolic"] = random.randint(90, 120) pressure["Diastolic"] = random.randint(60, 80) elif pressure_type == PressureType.high: pressure["Systolic"] = random.randint(130, 200) pressure["Diastolic"] = random.randint(90, 150) else: raise TypeError return pressure def generate(stream_name, kinesis_client): while True: rnd = random.random() pressure_type = ( PressureType.low if rnd < 0.005 else PressureType.high if rnd > 0.995 else PressureType.normal ) blood_pressure = get_blood_pressure(pressure_type) print(blood_pressure) kinesis_client.put_record( StreamName=stream_name, Data=json.dumps(blood_pressure), PartitionKey="partitionkey", ) if __name__ == "__main__": generate(STREAM_NAME, boto3.client("kinesis"))