アプリケーション出力の設定 - Amazon Kinesis Data Analytics for SQL Applications デベロッパーガイド

新しいプロジェクトでは、Kinesis Data Analytics for Applications 経由で新しい Managed Service for Apache Flink Studio SQL を使用することをお勧めします。Managed Service for Apache Flink Studio は、使いやすさと高度な分析機能を兼ね備えているため、高度なストリーム処理アプリケーションを数分で構築できます。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーション出力の設定

アプリケーションコードで、SQL ステートメントの出力を 1 つ以上のアプリケーション内ストリームに書き込みます。オプションで、出力設定をアプリケーションに追加できます。 は、アプリケーション内ストリームに書き込まれたすべてを Amazon Kinesis データストリーム、Firehose 配信ストリーム、 AWS Lambda 関数などの外部送信先に保持します。

アプリケーション出力の永続化に使用できる外部宛先の数には制限があります。詳細については、「Limits」を参照してください。

注記

エラーを精査するためにアプリケーション内エラーストリームのデータを永続化する外部宛先は、1 つにすることをお勧めします。

これらの出力設定で、以下を指定します。

  • アプリケーション内ストリーム名 – 外部宛先で永続化するストリームです。

    Kinesis Data Analytics は、出力設定で指定されたアプリケーション内ストリームを検索します。(ストリーム名は大文字と小文字が区別され、正確に一致する必要があることに注意してください)。アプリケーションコードがこのアプリケーション内ストリームを作成することを確認してください。

  • 外部送信先 – Kinesis データストリーム、Firehose 配信ストリーム、または Lambda 関数にデータを永続化できます。ストリームまたは関数の Amazon リソースネーム (ARN) を指定します。また、Amazon Kinesis Analytics がユーザーに代わってストリームまたは Lambda 関数に書き込むために引き受けることができる IAM ロールを指定する必要があります。外部宛先に書き込むときに Kinesis Data Analytics が使用するレコード形式 (JSON, CSV) も記述します。

Kinesis Data Analytics でストリーミングまたは Lambda 宛先に書き込むことができない場合、サービスは無限に試行を続けます。これはバックプレッシャーを生み出し、アプリケーションに遅延が生じます。この問題が解決しない場合、アプリケーションは最終的に新しいデータの処理を停止します。Kinesis Data Analytics Metrics をモニタリングし、障害のアラームを設定できます。メトリクスとアラームの詳細については、「Amazon CloudWatch メトリクスの使用」および「Amazon CloudWatch アラームの作成」を参照してください。

AWS Management Consoleを使用してアプリケーション出力を設定できます。コンソールは API コールを実行して設定を保存します。

を使用した出力の作成 AWS CLI

このセクションでは、CreateApplication または AddApplicationOutput オペレーションのリクエストボディの Outputs セクションを作成する方法について説明します。

Kinesis ストリーム出力を作成する

次の JSON フラグメントは、Amazon Kinesis データストリームの宛先を作成する CreateApplication リクエストボディの Outputs セクションを示しています。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

Firehose 配信ストリーム出力の作成

次の JSON フラグメントは、Amazon Data Firehose 配信ストリームの送信先を作成するためのCreateApplicationリクエストボディの Outputsセクションを示しています。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

Lambda 関数出力を作成する

次の JSON フラグメントは、 AWS Lambda 関数の送信先を作成するためのCreateApplicationリクエストボディの Outputsセクションを示しています。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]