

在仔細考慮之後，我們決定停止 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)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 1：準備資料
<a name="app-anomaly-with-ex-prepare"></a>

在為此[範例](app-anomaly-detection-with-explanation.md)建立 Amazon Kinesis Data Analytics 應用程式之前，您必須先建立 Kinesis 資料串流作為應用程式的串流來源。您也可以執行 Python 程式碼，將模擬的血壓資料寫入串流。

**Topics**
+ [步驟 1.1：建立 Kinesis 資料串流](#app-anomaly-create-two-streams)
+ [步驟 1.2：將範例記錄寫入輸入串流](#app-anomaly-write-sample-records-inputstream)

## 步驟 1.1：建立 Kinesis 資料串流
<a name="app-anomaly-create-two-streams"></a>

在本節中，建立名為 `ExampleInputStream` 的 Kinesis 資料串流。您可以使用 AWS 管理主控台 或 建立此資料串流 AWS CLI。
+ 使用主控台：

  1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis) 的 Kinesis 主控台。

  1. 在導覽窗格中選擇 **資料串流**。選擇 **建立 Kinesis 串流**。

  1. 在角色名稱輸入 **ExampleInputStream**。在碎片數鍵入 **1**。
+ 或者，若要使用 AWS CLI 建立資料串流，請執行下列命令：

  ```
  $ aws kinesis create-stream --stream-name ExampleInputStream --shard-count 1
  ```

## 步驟 1.2：將範例記錄寫入輸入串流
<a name="app-anomaly-write-sample-records-inputstream"></a>

在此步驟中，執行 Python 程式碼以持續產生範例記錄，並將其寫入您建立的資料串流。

1. 安裝 Python 與 Pip。

   如需安裝 Python 的相關資訊，請參閱 [Python](https://www.python.org/) 網站。

   您可以使用 Pip 安裝相依性。如需安裝 Pip 的詳細資訊，請參閱 Pip 文件中的[安裝](https://pip.pypa.io/en/stable/installing/)。

1. 執行以下 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"))
   ```

**後續步驟**  
[步驟 2：建立 Analytics 應用程式](app-anom-with-exp-create-app.md)