

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

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

# 使用結構描述編輯器
<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 表達式。
**注意**  
基本**資料列路徑**值，是包含要匯入之資料的最上層父系路徑。根據預設，此值為 **$**。如需詳細資訊，請參閱 `[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`。