メイン コンテンツをスキップする 補完的コンテンツへスキップ

コンテキスト変数を使って実行時に異なる接続文字列を使用

この シナリオでは、接続の資格情報をオーバーライドするために、したがって、実行時に本番準備データベースと本番データベースの間を切り替えるために、コンテキスト変数が追加されます。

パイプラインに、パイプラインのソースとしてコンテキスト変数を持つMySQLデータセット、タイプコンバーターとAggregateプロセッサー、パイプラインのデスティネーションとしてテストデータセットが示されています。

始める前に

  • ソースデータを保存するシステムへの接続が作成されていること。ここではMySQL接続を使用します。

  • ソースデータを保管するデータセットが追加済みであること。

    ここでは、顧客の識別子、名前、住所、国、与信限度額、その他を含む連絡先データが入っているテーブルです。

  • また、出力ログを保管する対象の接続(ここではテストデータセット)も作成されていること。

手順

  1. [Pipelines] (パイプライン)ページで[Add pipeline] (パイプラインを追加)をクリックします。新しいパイプラインが開きます。
  2. パイプラインに意味のある名前を付けます。

    Switch from a MySQL Pre-Prod to PROD table with context variables
  3. [ADD SOURCE] (ソースを追加)をクリックすると、ソースデータ(ここではMySQL contact table)を選択できるパネルが開きます。データのサンプルがプレビューパネルに表示されます。
    プレビューパネルには、パイプラインソースとして使用されるカスタマーMySQL テーブルのサンプルが表示されます。
  4. +をクリックし、パイプラインにType converterプロセッサーを追加します。[Configuration] (設定)パネルが開きます。
  5. プロセッサーに意味のある名前(convert credit typeなど)を付けます。
  6. [Converters] (コンバーター)エリアで次の操作を行います。
    1. [Field path] (フィールドパス)エリアで.creditlimitを選択します。ユーザーの与信限度額に対応するレコードを変換するためです。
    2. [Output type] (出力タイプ)リストから[Double] (倍数)を選択します。これは、与信限度額の値をString型からDouble型に変換するためです。変換後に、これらの値に基づいて計算を行えるようになります。
  7. [Save] (保存)をクリックして設定を保存します。

    与信限度額に関するレコードがDouble型に変換されていることが確認できます。

  8. +をクリックし、パイプラインにAggregateプロセッサーを追加します。[Configuration] (設定)パネルが開きます。
  9. プロセッサーに意味のある名前(calculate average credit limitなど)を付けます。
  10. [Operations] (操作)エリアで次の操作を行います。
    1. [Field path] (フィールドパス)エリアで.creditlimitを選択します。ユーザーの与信限度額に対応するレコードに計算操作を実行するためです。
    2. [Operation] (操作)リストから[Average] (平均)を選択します。この顧客リストの平均与信限度額を計算するためです。
  11. [Save] (保存)をクリックして設定を保存します。

    与信限度額に関するレコードがDouble型に変換されていることが確認できます。

    Aggregateプロセッサーのプレビューパネルに、出力レコード(Double型の52904という数字)が表示されます。
  12. パイプラインの[ADD DESTINATION] (デスティネーションを追加)項目をクリックしてパネルを開くと、出力ログを保持する[Test dataset] (テストデータセット)を選択できます。
  13. (オプション)パイプラインをこの段階で実行すると、ログに以下が表示されます:
    • パイプラインは正常に実行され、52のレコードが読み込まれました。
      [Logs] (ログ)パネルには、52件のレコードが読み取られたことが示されています。
    • このパイプラインにはコンテキスト変数が設定されませんでした。
      [Logs] (ログ)パネルで、元のMySQL URLが使われたこと、そのためランタイムではコンテキスト変数が使われなかったことが示されます。
  14. [MySQL contact table] (MySQL連絡先テーブル)ソースの[Connection] (接続)タブに戻り、変数を追加して割り当てます。
    1. JDBC URLパラメーターの横にある[Context variable] (コンテキスト変数)アイコンをクリックし、[Add a variable] (変数を追加)ウィンドウを開きます。
    2. 変数に名前(PROD connection string dataなど)を付けます。
    3. 取得するデフォルトリソースを上書きする変数値(jdbc:mysql://myprodconnectionstring.us-east-1.rds.amazonaws.com:3306/mytableなど)を入力します。
    4. 必要であれば説明を入力し、[Add] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      変数とその値がMySQLデータセットのJDBC URLパラメーターに割り当てられます。つまり、本番MySQLテーブルをポイントするJDBC URLによって、以前に定義したJDBC URLが上書きされます。本番準備テーブルからデータが取得される代わりに、本番テーブルデータが取得されます。
    6. [Save] (保存)をクリックして設定を保存します。

      変数が割り当てられると、[Context variable] (コンテキスト変数)アイコンが表示されて、変数がパイプライン内に設定されたことを示します。

      [Assign a variable] (変数を割り当て)ウィンドウで、新しい変数が選択され、[Assign] (割り当て)ボタンが有効になります。
  15. Talend Cloud Pipeline Designerの上部ツールバーで[Run] (実行)ボタンをクリックするとパネルが開き、実行プロファイルを選択できるようになります。
  16. リストで実行プロファイルを選択し(詳細は実行プロファイルをご覧ください)、[Run] (実行)をクリックしてパイプラインを実行します。

タスクの結果

パイプラインは実行中となり、データは集計され、ソースと対象の接続文字列に割り当てたコンテキスト変数に対応します。
  • パイプライン実行ログでは、読み込まれたレコード数が増えていることが確認できます(1153)。
    [Logs] (ログ)パネルには、1153件のレコードが読み取られたことが示されています。
  • 実行時に本番テーブルからデータを取得するために使用されたコンテキスト変数値も確認できます。
    [Logs] (ログ)パネルで、コンテキスト変数値に設定されたMySQL URLがランタイムで適用されたことが示されます。

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

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。