신중한 고려 끝에 두 단계로 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 중단 단원을 참조하십시오.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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"))