高度なフィルターを使ってJSONドキュメントを抽出する - Cloud - 8.0

Amazon DynamoDB

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > Amazonサービス > Amazon DynamoDB
データガバナンス > サードパーティーシステム > Amazonサービス > Amazon DynamoDB
データクオリティとプレパレーション > サードパーティーシステム > Amazonサービス > Amazon DynamoDB
Last publication date
2024-02-28
高度なフィルターを使ってDynamoDBからJSONドキュメントを読み取り、tLogRowを使ってこのドキュメントをTalend Studioに出力するようにtDynamoDBInputを設定します。

手順

  1. tDynamoDBInputをダブルクリックし、その[Component] (コンポーネント)ビューを開きます。

  2. [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、スキーマエディターを開きます。

  3. [+]ボタンを2回クリックして、それぞれサンプルデータのカラムを表す2つの行を追加し、[Column] (カラム)カラムで、これらのカラムにDeliveryIdおよびEventPayloadという名前をそれぞれ付けます。
  4. DeliveryIdカラムの行で、[Key] (キー)カラムのチェックボックスをオンにして、この DeliveryIDカラムを、使用するDynamoDBテーブルのパーティションキーカラムとして使います。DynamoDBテーブルには、パーティションキーカラムが必要です。
  5. [DB Type] (DBタイプ)カラムでEventPayloadカラムにJSONを選択します。これは、JSONドキュメントを保管するカラムであるためです。
  6. [Access key] (アクセスキー)フィールドと[Secret key] (シークレットキー)フィールドに、DynamoDBデータベースへのアクセスに使うAWSアカウントの認証情報を入力します。
  7. [Region] (リージョン)ドロップダウンリストから、前のステップでtDynamoDBOutputに対して選択したものと同じリージョンを選択します。
  8. [ Action] ドロップダウンリストから、[ Scan]を選択します。
  9. [Table Name] (テーブル名)フィールドに、tDynamoDBOutputによって作成されるDynamoDBテーブルの名前を入力します。
  10. [Use filter expression] (フィルター式を使用する]チェックボックスをオンにし、[Use advanced filter expression] (高度なフィルター式を使用する)チェックボックスをオンにします。
  11. [Advanced filter expression] (高度なフィルター式)フィールドに、JSONドキュメントの選択に使うフィルターを入力します。

    "EventPayload.customerOrderNumber.deliveryCode = :value"

    等号の左側の部分は、EventPayloadカラムのサンプルデータのJSONドキュメント内のストラクチャーを反映しています。deliveryCodeエレメントの値を使って、読み取るドキュメントをフィルタリングすることが目的です。

    [Value mapping] (値のマッピング)テーブルで:valueプレースホルダーを定義する必要があります。

  12. [Value mapping] (値のマッピング)テーブルの下で、[+]ボタンをクリックして1行追加し、次の操作を行います。
    1. [value] (値)カラムに、フィルターとして使うJSONエレメントの値を入力します。

      この例では、このエレメントはdeliveryCodeであり、deliveryCodeエレメントの値が261であるJSONドキュメントを抽出する必要があります。この値は文字列なので、二重引用符内に261を入力します。

      この値が整数の場合は、引用符を使わないでください。

    2. [Placeholder] (プレースホルダー)カラムに、定義するプレースホルダーの名前を二重引用符で囲んで入力します。この例では、[Advanced filter expression] (高度なフィルター式)で入力したとおり、":value"です。
      プレースホルダー名の先頭はコロン(:)にしてください。
  13. tLogRowをダブルクリックして[Component] (コンポーネント)ビューを開き、[Table] (テーブル)ラジオボタンをオンにして、抽出されたデータをTalend Studioのテーブルに表示します。
  14. [Ctrl]+[S]を押してジョブを保存し、[F6]を押してジョブを実行します。

タスクの結果

完了すると、取得したJSONドキュメントがTalend Studio[Run] (実行)ビューのコンソールに表示されます。
作成されたDynamoDBテーブルでは、両方のサンプルJSONドキュメントを確認できます。