📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

Amazon SQS (S3) 統合タスク (Preview)



このページでは、SQS キューから S3 オブジェクト作成イベントを消費し、対応するオブジェクトデータを TiDB Cloud Lake に書き込む Amazon SQS (S3) 統合タスクを作成する方法について説明します。

このタスクは、S3 のイベント駆動型データ取り込み向けに設計されています。上流システムが S3 にオブジェクトを書き込むと、S3 は ObjectCreated イベントを SQS に送信します。TiDB Cloud Lake は AssumeRole を通じて SQS メッセージを消費し、イベント内のバケットとオブジェクトキーに基づいてデータを TiDB Cloud Lake に書き込みます。

先に再利用可能な SQS (S3) 接続設定を作成する必要がある場合は、Amazon SQS (S3) - IAM Role (Preview) を参照してください。

ユースケース

  • S3 ObjectCreated イベントに基づいて、新しく書き込まれた S3 オブジェクトを自動的に取り込む
  • S3 イベント通知を使用してデータ取り込みを駆動し、新しいファイル到着後のレイテンシーを削減する
  • 新しいファイルの検出を S3 パスのポーリングのみに依存しないようにする

ワークフロー

  1. 上流システムが S3 バケットにオブジェクトを書き込みます。
  2. S3 Event Notification が ObjectCreated イベントを SQS 標準キューに送信します。
  3. TiDB Cloud Lake は、ユーザーが設定した IAM Role を通じて SQS キューからメッセージを読み取ります。
  4. タスクがメッセージ内の S3 イベントレコードを解析します。
  5. タスクは、S3 イベントレコード内のバケット、オブジェクトキー、およびファイル形式に基づいて、データを TiDB Cloud Lake のターゲットテーブルに書き込みます。
  6. 書き込みが成功すると、タスクは処理済みの SQS メッセージをキューから削除します。

前提条件

SQS (S3) 統合タスクを作成する前に、以下を確認してください。

  • Amazon SQS (S3) - IAM Role データソースがすでに作成されている
  • S3 バケットで ObjectCreated イベント通知が設定され、対象の SQS キューにイベントが送信されている
  • SQS キューポリシーで Amazon S3 に sqs:SendMessage の呼び出しが許可されている
  • ユーザー IAM Role で、TiDB Cloud Lake プラットフォームロールが sts:AssumeRole を通じてアクセスできるよう許可されている
  • ユーザー IAM Role に、対象の S3 オブジェクトの読み取り権限と対象の SQS キューの消費権限がある
  • SQS キューに標準的な S3 Event Notification 形式のメッセージが含まれている
  • S3 通知内のバケット、プレフィックス、サフィックスがデータソース設定と一致している

SQS (S3) 統合タスクの作成

ステップ 1: 基本情報

  1. Data > Data Integration に移動し、Create Task をクリックします。

  2. SQS (S3) データソースを選択し、基本パラメータを設定します。

    フィールド必須説明
    Data Sourceはいドロップダウンから既存の Amazon SQS (S3) - IAM Role データソースを選択します
    Nameはい統合タスクの名前
    File FormatはいCSV、Parquet、NDJSON などの S3 オブジェクトのファイル形式
    Object Key Prefixいいえraw/events/ など、指定したプレフィックスを持つオブジェクトイベントのみを処理します。これはデータソースおよび S3 通知フィルターと一致している必要があります
    Object Key Suffixいいえ.json や .parquet など、指定したサフィックスを持つオブジェクトイベントのみを処理します。これはデータソースおよび S3 通知フィルターと一致している必要があります

ステップ 2: データのプレビュー

基本設定の完了後、Next をクリックしてソースデータをプレビューします。

プレビュー結果は Amazon S3 統合タスク と同じです。システムは SQS (S3) 設定に基づいて対応する S3 オブジェクトを特定し、ファイル内容を読み取り、以下を表示します。

  • カラム名とデータ型を含むサンプルデータ
  • 一致した S3 オブジェクトの一覧とオブジェクトサイズ

ステップ 3: ターゲットテーブルの設定

TiDB Cloud Lake 内のターゲット場所を設定します。

フィールド説明
WarehouseSQS (S3) 統合タスクの実行に使用する TiDB Cloud Lake Warehouse を選択します
Target DatabaseTiDB Cloud Lake 内のターゲットデータベースを選択します
Target Tableデータを書き込むターゲットテーブルの名前

システムは、プレビューした S3 オブジェクトの内容からカラム名とデータ型を推論します。続行する前に、ターゲットテーブルのスキーマを確認および編集できます。既存のテーブルに書き込む場合は、ターゲットテーブルを選択し、カラムマッピングを確認してください。

Create をクリックして統合タスクを作成します。

タスクの動作

SQS (S3) 統合タスクは継続的に実行されるタスクです。開始後、手動で停止されるまで、定期的に SQS キューからメッセージを読み取り、ターゲットテーブルにデータを書き込みます。

シナリオ動作
キュー内にメッセージが存在するメッセージを読み取り、S3 イベントレコードを解析し、イベント内のオブジェクト情報に基づいてターゲットテーブルにデータを書き込みます
書き込み成功重複処理を避けるため、対応する SQS メッセージを削除します
書き込み失敗対応する SQS メッセージを削除せず、後でリトライできるよう保持します
メッセージ形式が有効な S3 Event Notification ではないエラーを記録し、処理をスキップまたは停止します
タスクが手動で停止されたポーリングを停止し、現在のタスク状態を保存します

Amazon S3 統合タスクとの違い

タスクタイプ処理対象オブジェクトTiDB Cloud Lake に書き込まれるデータ典型的なユースケース
Amazon S3 統合タスクS3 ファイル内容CSV、Parquet、または NDJSON ファイルの業務データファイルデータのインポート
Amazon SQS (S3) 統合タスクSQS 内の S3 ObjectCreated イベントイベントに対応する S3 オブジェクトデータ新規オブジェクトの自動取り込み、イベント駆動型インポート

目的が S3 パスを定期的にスキャンしてファイル内容をインポートすることであれば、Amazon S3 統合タスクを使用してください。目的が S3 ObjectCreated イベントに基づいて取り込みをトリガーすることであれば、Amazon SQS (S3) 統合タスクを使用してください。

このページは役に立ちましたか?