設定應用程式輸出 - 適用於 SQL 應用程式的 Amazon Kinesis Data Analytics 開發人員指南

針對新專案,我們建議您優先選擇新的 Managed Service for Apache Flink Studio,而非 Kinesis Data Analytics for SQL 應用程式。Managed Service for Apache Flink Studio 易於使用且具備進階分析功能,可讓您在幾分鐘內建置複雜的串流處理應用程式。

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

設定應用程式輸出

在應用程式碼中,您可以將 SQL 陳述式的輸出寫入一或多個應用程式內串流。您可以選擇性地將輸出組態新增至應用程式。將寫入應用程式內串流的所有內容保留到外部目的地,例如 Amazon Kinesis 資料串流、Firehose 交付串流或函數。 AWS Lambda

您可以用來保存應用程式輸出的外部目的地數量有限制。如需詳細資訊,請參閱 限制

注意

建議您使用其中一個目的地來保留應用程式內錯誤串流資料,藉此調查錯誤。

在每種輸出組態中,您提供下列項目:

  • 應用程式內串流名稱:您要保留至外部目的地的串流。

    Kinesis Data Analytics 會尋找您在輸出組態中指定的應用程式內串流。(串流名稱區分大小寫,必須完全匹配。) 請確定您的應用程式碼會建立此應用程式內串流。

  • 外部目標 — 您可以將資料保留至 Kinesis 資料串流、Firehose 交付串流或 Lambda 函數。您提供資料串流或函數的 Amazon Resource Name (ARN)。您也必須提供 Kinesis Data Analytics 可擔任的 IAM 角色,以代您讀取串流或函數。在寫入外部目的地時,您可以向 Kinesis Data Analytics 描述要使用的記錄格式 (JSON、CSV)。

如果 Kinesis Data Analytics 無法寫入串流或 Lambda 目的地,服務會繼續無限期地嘗試。這會產生背壓,導致您的應用程式落後。如果此問題未解決,您的應用程式最終會停止處理新資料。您可以監控 Kinesis Data Analytics 指標並設定故障警示。如需有關指標和警示的詳細資訊,請參閱使用 Amazon CloudWatch 指標建立 Amazon CloudWatch 警示

您可以使用 AWS Management Console配置應用程式輸出。控制台進行 API 呼叫以保存配置。

使用建立輸出 AWS CLI

本節說明如何建立 CreateApplicationAddApplicationOutput 作業的請求內文 Outputs 區段。

建立 Kinesis 串流輸出

下列 JSON 片段顯示 CreateApplication 要求內文中用來建立 Amazon Kinesis 資料串流目的地的 Outputs 區段。

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

建立 Firehose 傳送串流輸出

下列 JSON 片段顯示CreateApplication請求內文中用於建立 Amazon 資料 Firehose 交付串流目的地的Outputs區段。

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

建立 Lambda 函數輸出

以下 JSON 片段顯示CreateApplication請求主體中用於創建 AWS Lambda 函數目標的Outputs部分。

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