

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

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

# Amazon Kinesis Data Analytics for SQL 應用程式入門
<a name="getting-started"></a>

以下主題可協助您開始使用 Amazon Kinesis Data Analytics for SQL 應用程式。如果您是 Kinesis Data Analytics for SQL 應用程式的新手，建議您在執行入門章節中的步驟之前，先檢閱 [Amazon Kinesis Data Analytics for SQL 應用程式：運作方式](how-it-works.md) 中介紹的概念和術語。

**Topics**
+ [註冊 AWS 帳戶](#sign-up-for-aws)
+ [建立具有管理存取權的使用者](#create-an-admin)
+ [步驟 1：設定 帳戶並建立管理員使用者](setting-up.md)
+ [註冊 AWS 帳戶](#sign-up-for-aws)
+ [建立具有管理存取權的使用者](#create-an-admin)
+ [步驟 2：設定 AWS Command Line Interface (AWS CLI)](setup-awscli.md)
+ [步驟 3：建立 Amazon Kinesis Data Analytics 入門應用程式。](get-started-exercise.md)
+ [步驟 4 (選用)：使用主控台編輯結構描述和 SQL 程式碼](console-feature-summary.md)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

## 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

# 步驟 1：設定 帳戶並建立管理員使用者
<a name="setting-up"></a>

首次使用 Amazon Kinesis Data Analytics 之前，請先完成下列任務：

1. [註冊 AWS](#setting-up-signup)

1. [建立 IAM 使用者](#setting-up-iam)

## 註冊 AWS
<a name="setting-up-signup"></a>

當您註冊 Amazon Web Services 時，您的 AWS 帳戶 會自動註冊所有 服務 AWS，包括 Amazon Kinesis Data Analytics。您只需支付實際使用服務的費用。

使用 Kinesis Data Analytics 時，您僅需按使用的資源量付費。如果您是新 AWS 客戶，可免費開始使用 Kinesis Data Analytics。如需更多詳細資訊，請參閱 [AWS 免費用量方案](https://aws.amazon.com/free/)。

如果您已有 AWS 帳戶，請跳到下一個任務。如果您沒有 AWS 帳戶，請執行下列程序中的步驟來建立一個。

**若要建立 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

請記下您的 AWS 帳戶 ID，因為下一個任務需要它。

## 建立 IAM 使用者
<a name="setting-up-iam"></a>

中的服務 AWS，例如 Amazon Kinesis Data Analytics，會要求您在存取憑證時提供憑證，以便服務可以判斷您是否具有存取該服務所擁有資源的許可。主控台需要您的密碼。您可以為 建立存取金鑰 AWS 帳戶 ，以存取 AWS CLI 或 API。不過，我們不建議您 AWS 使用 的登入資料來存取 AWS 帳戶。建議您改用 AWS Identity and Access Management (IAM)。建立 IAM 使用者，並將使用者新增至擁有管理許可的 IAM 群組，然後將管理許可授予您建立的 IAM 使用者。然後，您可以使用特殊 URL 和該 IAM 使用者的登入資料 AWS 來存取 。

如果您註冊 AWS，但尚未為自己建立 IAM 使用者，您可以使用 IAM 主控台建立一個。

本指南中的「入門」練習假設您有具備管理員權限的使用者 (`adminuser`)。請遵循程序在您的帳戶中建立 `adminuser`。





**建立管理員使用者並登入主控台**

1. 在您的 AWS 帳戶中建立一個名為 `adminuser` 的管理員使用者。如需說明，請前往《IAM 使用者指南》**中的[建立第一個 IAM 使用者與管理員群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。

1. 使用者可以 AWS 管理主控台 使用特殊 URL 登入 。如需更多詳細資訊，請參閱《IAM 使用者指南》**中的[使用者如何登入您的帳戶](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html)。

如需 IAM 的詳細資訊，請參閱下列各項：
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/)
+ [IAM 入門](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

## 後續步驟
<a name="setting-up-next-step-2"></a>

[步驟 2：設定 AWS Command Line Interface (AWS CLI)](setup-awscli.md)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

## 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

# 步驟 2：設定 AWS Command Line Interface (AWS CLI)
<a name="setup-awscli"></a>

依照步驟下載和設定 AWS Command Line Interface (AWS CLI)。

**重要**  
您不需要 AWS CLI 執行入門練習中的步驟。不過，本指南中的某些練習會用到 AWS CLI。您可以略過此步驟並前往 [步驟 3：建立 Amazon Kinesis Data Analytics 入門應用程式。](get-started-exercise.md)，然後在稍後需要 AWS CLI 時設定 。

**若要設定 AWS CLI**

1. 下載和設定 AWS CLI。如需說明，請參閱*《AWS Command Line Interface 使用者指南》*中的下列主題：
   + [使用 進行設定 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)
   + [設定 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 在 AWS CLI 組態檔案中為管理員使用者新增具名設定檔。您在執行 AWS CLI 命令時使用此設定檔。如需具名描述檔的詳細資訊，請參閱《AWS Command Line Interface 使用者指南》**中的[具名描述檔](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles)。

   ```
   [profile adminuser]
   aws_access_key_id = adminuser access key ID
   aws_secret_access_key = adminuser secret access key
   region = aws-region
   ```

   如需可用的清單 AWS 區域，請參閱《》中的[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)*Amazon Web Services 一般參考*。

1. 在命令提示字元中輸入下列 help 命令，以驗證設定：

   ```
   aws help
   ```

## 後續步驟
<a name="setting-up-next-step-3"></a>

[步驟 3：建立 Amazon Kinesis Data Analytics 入門應用程式。](get-started-exercise.md)

# 步驟 3：建立 Amazon Kinesis Data Analytics 入門應用程式。
<a name="get-started-exercise"></a>

按照本節中的步驟操作，您可以使用主控台建立第一個 Kinesis Data Analytics 應用程式。

**注意**  
我們建議您在嘗試入門練習之前先檢閱 [Amazon Kinesis Data Analytics for SQL 應用程式：運作方式](how-it-works.md)。

在這個入門練習中，您可以使用主控台來處理示範串流或包含應用程式碼的範本。
+ 如果您選擇使用示範串流，主控台會在您的帳戶中建立名為 `kinesis-analytics-demo-stream` 的 Kinesis 資料串流。

  Kinesis Data Analytics 應用程式需要串流來源。針對此來源，本指南中的數個 SQL 範例會使用示範串流 `kinesis-analytics-demo-stream`。主控台還運行一個指令碼，將樣本資料（模擬股票交易記錄）持續添加到此串流中，如下所示。  
![\[顯示股票代號，產業和價格的格式化串流範例表。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-30.png)

  在本練習中，您可以把 `kinesis-analytics-demo-stream` 當作應用程式的串流來源。
**注意**  
示範串流會保留在您的帳戶中。您可以用其測試本指南中的其他範例。不過，當您離開主控台時，主控台使用的指令碼會停止填入資料。當需要時，主控台提供了開始再次填充串流的選項。
+ 如果您選擇將範本與應用程式碼範例搭配使用，可使用主控台提供的範本程式碼，在示範串流上執行簡單的分析。

您可以使用這些功能來快速設定第一個應用程式，如下所示：

1. 建立應用程式****：您只需要提供名稱即可。主控台會建立應用程式，且服務會將應用程式狀態設定為 `READY`。

    

1. **設定輸入**：首先添加一個串流來源，即示範串流。您必須先在主控台中建立示範串流，才能使用它。然後，主控台會在示範串流上擷取隨機記錄樣本，並針對所建立的應用程式內輸入串流推斷結構描述。主控台會將應用程式內串流命名為 `SOURCE_SQL_STREAM_001`。

   主控台會使用探索 API 來推斷結構描述。如有必要，您可以編輯推斷的結構描述。如需詳細資訊，請參閱[DiscoverInputSchema](API_DiscoverInputSchema.md)。Kinesis Data Analytics 會使用此結構描述來建立應用程式內串流。

    

   當應用程式啟動時，Kinesis Data Analytics 會代表您持續讀取示範串流，並將資料列插入 `SOURCE_SQL_STREAM_001` 應用程式內串流。

    

1. 指定應用程式碼****：使用提供下列程式碼的範本 (稱為**持續篩選條件**)：

   ```
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" 
     (symbol VARCHAR(4), sector VARCHAR(12), CHANGE DOUBLE, price DOUBLE);
    
   -- Create pump to insert into output. 
   CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
      INSERT INTO "DESTINATION_SQL_STREAM"  
         SELECT STREAM ticker_symbol, sector, CHANGE, price
         FROM "SOURCE_SQL_STREAM_001"
         WHERE sector SIMILAR TO '%TECH%';
   ```

   應用程式碼會查詢應用程式內串流 `SOURCE_SQL_STREAM_001`。然後，程式碼會使用幫浦將產生的資料列插入另一個應用程式內串流 `DESTINATION_SQL_STREAM` 中。如需此編碼模式的更多資訊，請參閱 [應用程式碼](how-it-works-app-code.md)。

   如需 Kinesis Data Analytics 支援之 SQL 語言元素的相關資訊，請參閱 [Amazon Kinesis Data Analytics SQL 參考資料](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)。

    

1. **設定輸出**：在本練習中，不會設定任何輸出。也就是說，您不會將應用程式建立的內部串流資料保存到任何外部目的地。而是在主控台中驗證查詢結果。本指南中的其他範例說明如何設定輸出。如需範例，請參閱 [範例：建立簡單提醒](app-simple-alerts.md)。

   



**重要**  
此練習使用美國東部 (維吉尼亞北部) 區域 (us-east-1) 來設定應用程式。您可以使用任何支援的 AWS 區域。

**後續步驟**  
[步驟 3.1：建立應用程式](get-started-create-app.md)

# 步驟 3.1：建立應用程式
<a name="get-started-create-app"></a>

在本節建立 Amazon Kinesis Data Analytics 應用程式。在下一個步驟設定應用程式輸入。

**若要建立資料分析應用程式**

1. 登入 AWS 管理主控台 並開啟 Managed Service for Apache Flink 主控台，網址為 [ https：//https://console.aws.amazon.com/kinesisanalytics](https://console.aws.amazon.com/kinesisanalytics)。

1. 選擇**建立應用程式** 。

1. 在**建立應用程式**頁面上，輸入應用程式名稱、輸入描述、在應用程式的**執行期**設定選擇 **SQL**，然後選擇**建立應用程式**。  
![\[新應用程式頁面螢幕截圖畫面，帶有應用程式名稱和描述。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-10.png)

   此舉會建立狀態為 READY 的 Kinesis Data Analytics 應用程式。主控台顯示應用程式中樞，您可以在其中設定輸入和輸出。
**注意**  
若要建立應用程式，[CreateApplication](API_CreateApplication.md) 作業只需要應用程式名稱。在主控台建立應用程式後，您可以新增輸入和輸出設定。

   

   在下一個步驟設定應用程式輸入。在輸入組態中，您可以將串流資料來源新增至應用程式，並透過取樣串流來源的資料，來探索應用程式內輸入串流的結構描述。

**後續步驟**  
[步驟 3.2：設定輸入](get-started-configure-input.md)

# 步驟 3.2：設定輸入
<a name="get-started-configure-input"></a>

您的應用程式需要串流來源。為了協助您開始使用，主控台可以建立示範串流 (稱為 `kinesis-analytics-demo-stream`)。主制台還運行一個指令碼，用於填充串流中的記錄。

**將串流來源新增至您的應用程式**

1. 在應用程式中樞頁面，選擇**連接串流資料**來連接至來源。  
![\[範例應用程式與連接到 SourceGS 按鈕的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-20.png)

1. 在顯示的頁面上，檢視下列項目：
   + **來源**區段，您可以在此指定應用程式的串流來源。您可以選取現有的串流來源或建立一個。在本練習中建立新串流，即示範串流。

      

     依預設，主控台會將建立的應用程式內輸入串流命名為 `INPUT_SQL_STREAM_001`。針對本練習，請保留原來的名稱。

      
     + **串流參考名稱**：此選項會顯示建立的應用程式內輸入串流名稱 `SOURCE_SQL_STREAM_001`。您可以變更名稱，但在本練習中，請保留此名稱。

        

       在此輸入組態中，將此示範串流映射到建立的應用程式內串流。當應用程式啟動時，Amazon Kinesis Data Analytics 會持續讀取示範串流，並將資料列插入應用程式內輸入串流。您可以在應用程式碼中查詢此應用程式內輸入串流。

        
     + **使用 記錄預先處理 AWS Lambda**：此選項可讓您指定 AWS Lambda 運算式，在應用程式程式碼執行之前修改輸入串流中的記錄。在本練習中，保持選取**已停用**選項。如需 Lambda 預處理的詳細資訊，請參閱 [使用 Lambda 函數預處理資料](lambda-preprocessing.md)。

   在您提供此頁面上的所有資訊之後，主控台會傳送更新要求 (請參閱 [UpdateApplication](API_UpdateApplication.md)) 以新增應用程式的輸入組態。

1. 在**來源**頁面上，選擇**設定新串流**。

1. 選擇**建立示範串流**。主控台會執行下列操作以設定應用程式輸入：
   + 主控台會建立名為 `kinesis-analytics-demo-stream` 的 Kinesis 資料串流。
   + 主控台用股票代號資料範例填充串流。
   + 使用 [DiscoverInputSchema](API_DiscoverInputSchema.md) 輸入動作，主控台會讀取串流上的範例記錄來推斷結構描述。所推斷的結構描述，即為建立的應用程式內輸入串流的結構描述。如需詳細資訊，請參閱[設定應用程式輸入](how-it-works-input.md)。
   + 主控台會顯示推斷的結構描述，以及從串流來源讀取的範例資料，藉此推斷結構描述。

   主控台會顯示串流來源上的範例記錄。  
![\[以表格格式顯示股票代號，產業和價格的格式化串流範例。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-30.png)

   以下內容會顯示在**串流範例**主控台頁面上：
   + **原始串流範例**標籤會顯示 [DiscoverInputSchema](API_DiscoverInputSchema.md) API 動作取樣的原始串流記錄，以推斷結構描述。
   + **格式化串流範例**標籤會在**原始串流範例**標籤中顯示資料的表格式版本。
   + 如果選擇**編輯結構描述**，則可以編輯推斷的結構描述。在本練習中，請勿變更推斷的結構描述。如需有關編輯結構描述的詳細資訊，請參閱 [使用結構描述編輯器](console-summary-edit-schema.md)。

     如果您選擇**重新探索結構描述**，則可以要求主控台再次執行 [DiscoverInputSchema](API_DiscoverInputSchema.md) 並推斷結構描述。

     

   

1. 選擇**儲存並繼續**。

   現在您得到一個加入了輸入組態的應用程式。在下一個步驟中新增 SQL 程式碼，以對應用程式內的資料輸入串流執行一些分析。

**後續步驟**  
[步驟 3.3：新增實時分析 (新應用程式碼)](get-started-add-realtime-analytics.md)

# 步驟 3.3：新增實時分析 (新應用程式碼)
<a name="get-started-add-realtime-analytics"></a>

您可以針對應用程式內串流撰寫自己的 SQL 查詢，但在接下來的步驟中，您可以使用其中一個提供範例程式碼的範本。

1. 在應用程式中樞頁面，選擇**至 SQL 編輯器**。  
![\[帶有 SQL 編輯器按鈕的範例應用程式頁面之螢幕截圖。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-40.png)

1. 在**您要開始運行「範例應用程式」嗎？**對話方塊中，選擇**是，啟動應用程式**。

   主控台會傳送啟動應用程式的要求 (請參閱 [StartApplication](API_StartApplication.md))，然後 SQL 編輯器頁面就會出現。

   

1. 主控台會開啟 SQL 編輯器頁面。檢閱頁面，包括按鈕 (**從範本新增 SQL**、**儲存並執行 SQL**) 和各種標籤。

1. 在 SQL 編輯器中，選擇**從範本新增 SQL**。

1. 從可用範本清單中，選擇**連續篩選**。範例程式碼會從一個應用程式內串流讀取資料 (`WHERE` 子句會篩選資料列)，並將其插入另一個應用程式內串流，如下所示：
   + 此舉會建立應用程式內串流 `DESTINATION_SQL_STREAM`。
   + 此舉會建立幫浦 `STREAM_PUMP`，並用它從 `SOURCE_SQL_STREAM_001` 中選取列並插入 `DESTINATION_SQL_STREAM`。

   

1. 選擇**將此 SQL 新增至編輯器**。

1. 依照下列方式來測試應用程式碼：

   請記住，您已經啟動了應用程式（狀態為 RUNNING）。儲存組態時，Amazon Kinesis Data Analytics 已持續從串流來源讀取資料，並將資料列加入應用程式內串流 `SOURCE_SQL_STREAM_001`。

   1. 在 SQL 編輯器中，選擇**儲存並執行 SQL**。主控台首先發送更新請求，以保存應用程式碼。然後，程式碼會持續執行。

   1. 您可以在**即時分析**標籤中查看結果。  
![\[SQL 編輯器的螢幕截圖，結果顯示在即時分析標籤中。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-50.png)

      SQL 編輯器包含下列標籤：
      + **來源資料**標籤會顯示映射至串流來源的應用程式內輸入串流。選擇應用程式內串流，您就可以看到傳入的資料。請注意應用程式內輸入串流中的其他資料欄，輸入組態並未指定這些欄位。其中包括下列時間戳記欄：

         
        + **ROWTIME**：應用程式內串流中的每一列都有一個名為 `ROWTIME` 的特殊欄。此資料欄是 Amazon Kinesis Data Analytics 在第一個應用程式內串流 (對應至串流來源) 中插入資料列的時間戳記。

           
        + **Approximate\$1Arrival\$1Time**：每個 Kinesis Data Analytics 記錄都包含一個稱為 `Approximate_Arrival_Time` 的值。當串流來源成功接收並儲存記錄時，此值即為大約的到達時間戳記。Kinesis Data Analytics 從串流來源讀取記錄時，會將此資料欄擷取到應用程式內輸入串流中。

        這些時間戳記值在以時間為基礎的窗口化查詢中非常有用。如需詳細資訊，請參閱[窗口化查詢](windowed-sql.md)。

         
      + **即時分析**標籤會顯示應用程式碼建立的所有其他應用程式內串流。其中還包括錯誤串流。Kinesis Data Analytics 會將任何無法處理的資料列傳送至錯誤串流。如需詳細資訊，請參閱[錯誤處理](error-handling.md)。

         

        選擇 `DESTINATION_SQL_STREAM` 檢視應用程式碼插入的資料列。請注意應用程式碼未建立的其他資料欄。其中包括 `ROWTIME` 時間戳記欄：Kinesis Data Analytics 只會從來源 (`SOURCE_SQL_STREAM_001`) 複製這些值。

         
      + **目的地**標籤會顯示 Kinesis Data Analytics 寫入查詢結果的外部目標。您尚未為應用程式輸出設定任何外部目的地。

      

**後續步驟**  
[步驟 3.4：(選用) 更新應用程式碼](get-started-update-appcode.md)

# 步驟 3.4：(選用) 更新應用程式碼
<a name="get-started-update-appcode"></a>

在此步驟中，探索如何更新應用程式碼。

**如要更新應用程式碼**

1. 建立另一個應用程式內串流，如下所示：
   + 建立另一個名為 `DESTINATION_SQL_STREAM_2` 的應用程式內串流。
   + 建立幫浦，然後透過從 `DESTINATION_SQL_STREAM` 中選取列，用幫浦在新建立的串流中插入列。

   在 SQL 編輯器中，將下列程式碼附加至現有的應用程式碼：

   ```
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM_2" 
              (ticker_symbol VARCHAR(4), 
               change        DOUBLE, 
               price         DOUBLE);
   
   CREATE OR REPLACE PUMP "STREAM_PUMP_2" AS 
      INSERT INTO "DESTINATION_SQL_STREAM_2"
         SELECT STREAM ticker_symbol, change, price 
         FROM   "DESTINATION_SQL_STREAM";
   ```

   儲存並執行程式碼。其他應用程式內串流會顯示在**即時分析**標籤上。

1. 建立兩個應用程式內串流。根據股票代號篩選 `SOURCE_SQL_STREAM_001` 中的列，然後將它們插入到這些單獨的串流中。

   將下列 SQL 陳述式附加至您的應用程式碼：

   ```
   CREATE OR REPLACE STREAM "AMZN_STREAM" 
              (ticker_symbol VARCHAR(4), 
               change        DOUBLE, 
               price         DOUBLE);
   
   CREATE OR REPLACE PUMP "AMZN_PUMP" AS 
      INSERT INTO "AMZN_STREAM"
         SELECT STREAM ticker_symbol, change, price 
         FROM   "SOURCE_SQL_STREAM_001"
         WHERE  ticker_symbol SIMILAR TO '%AMZN%';
   
   CREATE OR REPLACE STREAM "TGT_STREAM" 
              (ticker_symbol VARCHAR(4), 
               change        DOUBLE, 
               price         DOUBLE);
   
   CREATE OR REPLACE PUMP "TGT_PUMP" AS 
      INSERT INTO "TGT_STREAM"
         SELECT STREAM ticker_symbol, change, price 
         FROM   "SOURCE_SQL_STREAM_001"
         WHERE  ticker_symbol SIMILAR TO '%TGT%';
   ```

   儲存並執行程式碼。請注意**即時分析**標籤上的其他應用程式內串流。

現在您即獲得第一個可運作的 Amazon Kinesis Data Analytics 應用程式。在本練習中，您進行了以下動作：
+ 建立了您的第一個 Kinesis Data Analytics 應用程式。

   
+ 設定分應用程式輸入，將示範串流識別為串流來源，並將其映射至建立的應用程式內串流 (`SOURCE_SQL_STREAM_001`)。Kinesis Data Analytics 會持續讀取示範串流，並將記錄插入應用程式內串流。

   
+ 您的應用程式碼查詢了 `SOURCE_SQL_STREAM_001`，並將輸出寫入另一個名為 `DESTINATION_SQL_STREAM` 的應用程式內串流。



現在，您可以選擇性地設定應用程式輸出，以將其寫入外部目的地。換句話說，您可以設定應用程式輸出，將 `DESTINATION_SQL_STREAM` 的紀錄寫入外部目的地。針對本練習，此為選用步驟。若要瞭解如何設定目的地，請至下一個步驟。

**後續步驟**  
[步驟 4 (選用)：使用主控台編輯結構描述和 SQL 程式碼](console-feature-summary.md).

# 步驟 4 (選用)：使用主控台編輯結構描述和 SQL 程式碼
<a name="console-feature-summary"></a>

以下，您可以找到如何編輯推斷的架構描述，以及如何編輯 Amazon Kinesis Data Analytics 的 SQL 程式碼之相關資訊。您可以使用結構描述編輯器和 SQL 編輯器來達成此目的，後兩者屬於 Kinesis Data Analytics 主控台的一部分。

**注意**  
若要在主控台中存取或取樣資料，登入使用者的角色必須具有 `kinesisanalytics:GetApplicationState` 權限。如需 Kinesis Data Analytics 應用程式權限的詳細資訊，請參閱 [管理存取概觀](access-control-overview.md)。

**Topics**
+ [使用結構描述編輯器](console-summary-edit-schema.md)
+ [使用 SQL 編輯器](console-summary-sql-editor.md)

# 使用結構描述編輯器
<a name="console-summary-edit-schema"></a>

Amazon Kinesis Data Analytics 應用程式輸入串流的結構描述，定義了串流中的資料如何開放給應用程式中的 SQL 查詢。

![\[顯示串流輸入、來源結構描述組態和應用程式內輸入串流之間關係的圖表\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-diagram.png)


結構描述包含選取準則，可決定串流輸入的哪一部分要轉換為應用程式內輸入串流中的資料欄。此輸入可為下列之一：
+ JSON 輸入資料流的 JSONPath 表達式。JSONPath 是用於查詢 JSON 資料的工具。
+ 逗點分隔值 (CSV) 格式的輸入串流之資料欄編號。
+ 用於在應用程式內資料串流中提供資料的欄名稱和 SQL 資料類型。資料類型也包含字元或二進位資料的長度。

主控台嘗試使用 [DiscoverInputSchema](API_DiscoverInputSchema.md) 產生結構描述。如果結構描述探索失敗，或傳回不正確或不完整的結構描述，您必須使用結構描述編輯器手動編輯結構描述。

## 結構描述編輯器主畫面
<a name="schema_editor"></a>

下列螢幕截圖顯示結構描述編輯器的主畫面。

![\[編輯結構描述頁面的螢幕截圖。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-overview.png)


您可以將下列編輯套用至結構描述：
+ 新增資料欄 (1)：如果未自動偵測到資料項目，您可能需要新增資料欄。
+ 刪除資料欄 (2)：如果應用程式不需要資料，您可以從來源串流中排除資料。此排除不會影響來源串流中的資料。如果排除資料，該資料就無法供應用程式使用。
+ 重新命名欄位 (3)。資料欄名稱不能為空白、長度必須超過單一字元，且不得包含保留的 SQL 關鍵字。名稱也必須符合 SQL 一般識別符的命名條件：名稱必須以字母開頭，且只包含字母、底線字元和數字。
+ 變更資料欄的資料類型 (4) 或長度 (5)：您可以為資料欄指定相容的資料類型。如果您指定不相容的資料類型，則資料欄會填入 NULL，或者完全不會填入應用程式內串流。在後者情況下，錯誤被寫入錯誤串流。如果您指定的資料欄長度太短，則會截斷傳入資料。
+ 變更欄的選取條件 (6)：您可以編輯 JSONPath 表達式或 CSV 欄順序，藉此決定欄中資料來源。若要變更 JSON 結構描述的選取條件，請輸入列路徑表達式的新值。CSV 結構描述使用資料欄順序作為選取條件。若要變更 CSV 結構描述的選取條件，請變更資料欄的順序。

## 編輯串流來源的結構描述
<a name="editing_schema"></a>

如果您需要編輯串流來源的結構描述，請依照下列步驟執行。

**如要編輯串流來源的結構描述**

1. 在**來源**頁面上，選擇**編輯結構描述**。  
![\[股票資料格式化串流範例標籤的螢幕截圖，其中強調了編輯結構描述按鈕。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-1.png)

1. 在**編輯結構描述**頁面，編輯來源結構描述。  
![\[編輯結構描述頁面的螢幕截圖。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-0.png)

1. 在**格式**，選擇 **JSON** 或 **CSV**。針對 JSON 或 CSV 格式，支援的編碼是 ISO 8859-1。

如需有關編輯 JSON 或 CSV 格式結構描述的詳細資訊，請參閱下一節中的程序。

### 編輯 JSON 結構描述
<a name="edit_json_schema"></a>

您可以使用下列步驟編輯 JSON 結構描述。

**若要編輯 JSON 結構描述**

1. 在結構描述編輯器，選擇**新增資料欄**以新增資料欄。

   一個新的資料欄出現在第一欄位置。若要變更資料欄順序，請選擇欄名稱旁的向上和向下箭頭。

   針對每個新資料欄，請提供以下資訊：
   + 在**資料欄名稱**中，輸入名稱。

     資料欄名稱不能為空白、長度必須超過單一字元，且不得包含保留的 SQL 關鍵字。名稱也必須符合 SQL 一般識別符的命名條件：必須以字母開頭，且只包含字母、底線字元和數字。
   + 在**資料欄類型**中，輸入 SQL 資料類型。

     資料欄類型可以是任何支援的 SQL 資料類型。如果新資料類型為 CHAR、VARBINARY 或 VARCHAR，請指定**長度**的資料長度。如需詳細資訊，請參閱[資料類型](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-data-types.html)。
   + 在**資料列路徑**，請提供資料列路徑。資料列路徑是映射至 JSON 元素的有效 JSONPath 表達式。
**注意**  
基本**資料列路徑**值，是包含要匯入之資料的最上層父系路徑。根據預設，此值為 **\$1**。如需詳細資訊，請參閱 `[JSONMappingParameters](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_JSONMappingParameters.html)` 中的 `RecordRowPath`。

1. 若要刪除資料欄，請選擇欄編號旁邊的 **x** 圖示。  
![\[結構描述編輯器的螢幕截圖，顯示資料欄邊號旁邊的 x 圖示。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-delete.png)

1. 若要重新命名欄，請在**資料欄名稱**輸入新名稱。新資料欄名稱不能為空白、長度必須超過單一字元，且不得包含保留的 SQL 關鍵字。名稱也必須符合 SQL 一般識別符的命名條件：必須以字母開頭，且只包含字母、底線字元和數字。

1. 若要變更欄的資料類型，請為**資料欄類型**選擇新的資料類型。如果新資料類型為 `CHAR`, `VARBINARY` or `VARCHAR`，請指定**長度**的資料長度。如需詳細資訊，請參閱[資料類型](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-data-types.html)。

1. 選擇**儲存結構描述並更新串流**，以儲存您的變更。

修改後的結構描述會顯示在編輯器中，類似如下。

![\[顯示已修改結構描述的結構描述編輯器螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-2.png)


如果您的結構描述有許多資料列，可以使用 **依資料欄名稱篩選**來篩選資料列。例如，若要編輯以 `P` 開頭的欄名稱 (例如 `Price` 欄)，請在**依資料欄名稱篩選**方塊中輸入 `P`。

### 編輯 CSV 結構描述
<a name="edit_csv_schema"></a>

您可以使用下列步驟編輯 CSV 結構描述。

**若要編輯 CSV 結構描述**

1. 在結構描述編輯器中，針對**資料列分隔符號**，選擇傳入資料串流使用的分隔符號。這是串流中資料記錄 (例如換行字元) 之間的分隔符號。

1. 針對**資料欄分隔符號**，請選擇傳入資料串流使用的分隔符號。這是串流中資料欄位之間的分隔符號。

1. 若要新增資料欄，請選擇**新增資料欄**。

   一個新的資料欄出現在第一欄位置。若要變更資料欄順序，請選擇欄名稱旁的向上和向下箭頭。

   針對每個新資料欄，請提供以下資訊：
   + 在**資料欄名稱**中輸入名稱。

     資料欄名稱不能為空白、長度必須超過單一字元，且不得包含保留的 SQL 關鍵字。名稱也必須符合 SQL 一般識別符的命名條件：必須以字母開頭，且只包含字母、底線字元和數字。
   + 在**資料欄類型**中，輸入 SQL 資料類型。

     資料欄類型可以是任何支援的 SQL 資料類型。如果新資料類型為 CHAR、VARBINARY 或 VARCHAR，請指定**長度**的資料長度。如需詳細資訊，請參閱[資料類型](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-data-types.html)。

1. 若要刪除資料欄，請選擇欄編號旁邊的 **x** 圖示。  
![\[結構描述編輯器的螢幕截圖，顯示資料欄邊號旁邊的 x 圖示。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-delete.png)

1. 若要重新命名資料欄，請在**資料欄名稱**中輸入新名稱。新資料欄名稱不能為空白、長度必須超過單一字元，且不得包含保留的 SQL 關鍵字。名稱也必須符合 SQL 一般識別符的命名條件：必須以字母開頭，且只包含字母、底線字元和數字。

1. 若要變更資料欄的資料類型，請為**資料欄類型**選擇新的資料類型。如果新資料類型為 CHAR、VARBINARY 或 VARCHAR，請指定**長度**的資料長度。如需詳細資訊，請參閱[資料類型](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-data-types.html)。

1. 選擇**儲存結構描述並更新串流**，以儲存您的變更。

修改後的結構描述會顯示在編輯器中，類似如下。

![\[顯示已修改結構描述的結構描述編輯器螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/edit-schema-3.png)


如果您的結構描述有許多資料列，可以使用 **依資料欄名稱篩選**來篩選資料列。例如，若要編輯以 `P` 開頭的資料欄名稱 (例如 `Price` 欄)，請在**依資料欄名稱篩選**方塊中輸入 `P`。

# 使用 SQL 編輯器
<a name="console-summary-sql-editor"></a>

以下，您可以找到 SQL 編輯器區段以及各區段如何運作的相關資訊。在 SQL 編輯器中，您可以自行撰寫程式碼，或選擇**從範本新增 SQL**。SQL 範本提供範例 SQL 程式碼，可協助您撰寫常見的 Amazon Kinesis Data Analytics 應用程式。本指南中的範例應用程式使用其中一些範本。如需詳細資訊，請參閱[Kinesis Data Analytics for SQL 範例](examples.md)。

![\[顯示即時分析標籤和應用程式內串流的 SQL 編輯器螢幕截圖。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-50.png)


## 來源資料標籤
<a name="console-summary-source-data"></a>

**來源資料**標籤可識別串流來源。它也會識別此來源映射的應用程式內輸入串流，並提供應用程式輸入組態。

![\[顯示來源資料標籤的 SQL 編輯器螢幕截圖，其中強調了串流來源。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-60.png)


Amazon Kinesis Data Analytics 提供下列時間戳記欄，因此您不需要在輸入組態中提供明確的映射：
+ **ROWTIME**：應用程式內串流中的每一列都有一個名為 `ROWTIME` 的特殊欄。此資料欄是 Kinesis 資料分析在第一個應用程式內串流中插入資料列時的時間戳記。
+ **Approximate\$1Arrival\$1Time**：串流來源上的記錄包含 `Approximate_Arrival_Timestamp` 欄。當串流來源成功接收並儲存相關記錄時，此即為大約的到達時間戳記。Kinesis Data Analytics 會將此資料欄擷取至應用程式內輸入串流作為 `Approximate_Arrival_Time`。Amazon Kinesis Data Analytics 僅會在對應至串流來源的應用程式內輸入串流中提供此資料欄。

這些時間戳記值在以時間為基礎的窗口化查詢中非常有用。如需詳細資訊，請參閱[窗口化查詢](windowed-sql.md)。

## 即時分析標籤
<a name="console-summary-realtime-analytics"></a>

**即時分析**標籤會顯示應用程式碼建立的所有應用程式內串流。這組串流包括 Amazon Kinesis Data Analytics 提供給所有應用程式的錯誤串流 (`error_stream`)。

![\[顯示即時分析標籤的 SQL 編輯器螢幕截圖，其中強調了應用程式內串流。\]](http://docs.aws.amazon.com/zh_tw/kinesisanalytics/latest/dev/images/gs-v2-70.png)


## 目的地標籤
<a name="console-summary-destination"></a>

**目的地**標籤可讓您設定應用程式輸出，以保留應用程式內串流至外部目的地。您可以設定輸出，將任何應用程式內串流的資料保存至外部目的地。如需詳細資訊，請參閱[設定應用程式輸出](how-it-works-output.md)。