在仔細考慮之後,我們決定在兩個步驟中停止 Amazon Kinesis Data Analytics for SQL 應用程式:
1. 從 2025 年 10 月 15 日起,您將無法為SQL應用程式建立新的 Kinesis Data Analytics。
2. 我們將從 2026 年 1 月 27 日起刪除您的應用程式。您將無法啟動或操作SQL應用程式的 Amazon Kinesis Data Analytics。從那時SQL起,Amazon Kinesis Data Analytics 將不再提供 的支援。如需詳細資訊,請參閱Amazon Kinesis Data Analytics for SQL 應用程式終止。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:準備資料
在為此範例建立 Amazon Kinesis Data Analytics 應用程式之前,您必須先建立 Kinesis 資料串流作為應用程式的串流來源。您也可以執行 Python 程式碼,將模擬的血壓資料寫入串流。
步驟 1.1:建立 Kinesis 資料串流
在本節中,建立名為 ExampleInputStream
的 Kinesis 資料串流。您可以使用 AWS Management Console 或 AWS CLI 建立這些資料串流。
-
使用主控台:
前往 https://console.aws.amazon.com/kinesis/
登入 AWS Management Console 並開啟 Kinesis 主控台。 -
在導覽窗格中選擇 資料串流。選擇 建立 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"))