

慎重に検討した結果、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="how-it-works-app-code"></a>

アプリケーションコードは、入力を処理し出力を生成する一連の SQL ステートメントです。この SQL ステートメントはアプリケーション内ストリームおよびリファレンステーブルで動作します。詳細については、「[Amazon Kinesis Data Analytics for SQL Applications: 仕組み](how-it-works.md)」を参照してください。

Kinesis Data Analytics でサポートされている SQL 言語要素の詳細については、「[Amazon Kinesis Data Analytics SQL Reference](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)」を参照してください。

リレーショナルデータベースでは、レコードを追加する INSERT ステートメントと、データをクエリする SELECT ステートメントを使用して、テーブルで作業を行います。Amazon Kinesis Data Analytics では、ストリームを操作します。これらのストリームをクエリする SQL ステートメントを作成できます。1 つのアプリケーション内ストリームをクエリした結果は、常に別のアプリケーション内ストリームに送信されます。複雑な分析を実行する場合は、分析の中間結果を保持する複数のアプリケーション内ストリームを作成する場合があります。最終的には、アプリケーション出力を設定して、(1 つまたは複数のアプリケーション内ストリームからの) 最終分析を外部宛先で永続化します。要約すると、アプリケーションコードを作成する一般的なパターンは以下のとおりです。
+ SELECT ステートメントは、常に INSERT ステートメントのコンテキストで使用されます。つまり、行を選択すると、結果を別のアプリケーション内ストリームに挿入します。
+ INSERT ステートメントは、常にポンプのコンテキストで使用されます。つまり、ポンプを使用してアプリケーション内ストリームに書き込みます。



次のアプリケーションコードの例では、あるアプリケーション内 (SOURCE\_SQL\_STREAM\_001) ストリームからレコードを読み取り、別のアプリケーション内ストリーム (DESTINATION\_SQL\_STREAM) に書き込みます。次のように、ポンプを使用してレコードをアプリケーション内ストリームに挿入できます。

```
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), 
                                                   change DOUBLE, 
                                                   price DOUBLE);
-- Create a pump and insert into output stream.
CREATE OR REPLACE PUMP "STREAM_PUMP" AS 

  INSERT INTO "DESTINATION_SQL_STREAM" 
    SELECT STREAM ticker_symbol, change,price
    FROM   "SOURCE_SQL_STREAM_001";
```

**注記**  
ストリーム名および列名に指定する識別子は標準 SQL の命名規則に従います。たとえば、識別子を引用符で囲むと、識別子で大文字と小文字が区別されるようになります。囲まない場合は、識別子はデフォルトで大文字になります。識別子の詳細については、「Amazon Managed Service for Apache Flink SQL リファレンス」の「[Identifiers](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-identifiers.html)」を参照してください。

アプリケーションコードは、多数の SQL ステートメントで構成できます。以下に例を示します。
+ 1 つの SQL ステートメントの結果を次の SQL ステートメントにフィードするシーケンシャルな SQL クエリを作成できます。
+ また、相互に独立して実行される SQL クエリを作成することもできます。たとえば、同じアプリケーション内ストリームをクエリするが、異なるアプリケーション内ストリームに出力を送信する、2 つの SQL ステートメントを作成できます。その後、新しく作成されたアプリケーション内ストリームを個別にクエリできます。

中間結果を保存するアプリケーション内ストリームを作成できます。ポンプを使用してアプリケーション内ストリームにデータを挿入します。詳細については、「[アプリケーション内ストリームとポンプ](streams-pumps.md)」を参照してください。

アプリケーション内リファレンステーブルを追加する場合は、アプリケーション内ストリームとリファレンステーブルのデータを結合する SQL を作成できます。詳細については、「[例: Kinesis Data Analytics アプリケーションにリファレンスデータを追加する](app-add-reference-data.md)」を参照してください。

アプリケーションの出力設定に従って、Amazon Kinesis Data Analytics はアプリケーションの出力設定に従って特定のアプリケーション内ストリームからのデータを外部宛先に書き込みます。アプリケーションコードが、出力設定で指定されたアプリケーション内ストリームに書き込むことを確認してください。

詳細については、以下の各トピックを参照してください。
+  [ストリーミング SQL の概念](streaming-sql-concepts.md)
+ [Amazon Kinesis Data Analytics SQL Reference](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)