デモジョブを使ったパスワード変換の検証 - 7.3

Talend Big Data Platform Studio ユーザーガイド

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発

この手順では、パスワードの暗号化を検証するデモジョブを作成します。このジョブでは、tMysqlInputコンポーネントを使い、データベースのpersonというテーブルからデータを読み取り、tLogRowコンポーネントを使ってコンソールに結果を印刷します。

始める前に

次の情報を使ってMySQLデータベースをチェックします。

  • ホスト名: localhost
  • ポート: 3306
  • データベース名: test
  • ユーザー名: root
  • パスワード: talend
  • テーブル名: person
  • テーブルカラム:
    • [id]: 整数型(INT)、2文字
    • name: 文字列型(VARCHAR)、20文字
    • sex: 文字列型(VARCHAR)、1文字

また、以下のデータベース接続パラメーターが含まれているプレーンテキストファイルがあることもチェックしてください。

Host;localhost
Database;test
Port;3306
Username;root
Password;gnyraq
Table;person

なお、gnyraqというパスワードは実際のパスワードであるtalendを暗号化したもので、ジョブ実行時にROT13によって実際のパスワードに変換されます。

手順

  1. 新しいジョブを作成し、EncryptPasswordWithR0T13Demoという名前を付けます。
  2. ジョブにtFileInputDelimitedコンポーネント、tContextLoadコンポーネント、tDBInputコンポーネント、tLogRowコンポーネントを追加します。
  3. コンポーネントを接続します:
    1. [Row] (行) > [Main] (メイン)接続を使ってtFileInputDelimitedtContextLoadに接続します。
    2. [Row] (行) > [Main] (メイン)接続を使ってtDBInputtLogRowに接続します。
    3. [Trigger] (トリガー) > [OnSubjobOk]接続を使ってtFileInputDelimitedtDBInputに接続します。
  4. [Contexts] (コンテキスト)ビューを開き、次の変数をすべて空の値にして追加します:
    • Host: 文字列タイプ
    • Database: 文字列タイプ
    • Port: 文字列タイプ
    • Username: 文字列タイプ
    • Passwordパスワードタイプ
    • Table: 文字列タイプ
  5. tFileInputDelimited[Basic settings] (基本設定)ビューで、データベースアクセスを保持するテキストファイルを読み込むためコンポーネントを設定します。
    • tContextLoadコンポーネントの読み取り専用スキーマに対応する[Key] (キー)[Value] (値)という2つのカラムが含まれるように、スキーマを設定します。
    • [File name/Stream] (ファイル名/ストリーム)フィールドで、データベースアクセスパラメーターを含む入力テキストファイルへのパスを指定、または参照します。
  6. tDBInputコンポーネントの[Database] (データベース)リストで[MySQL]を選択して[Apply] (適用)をクリックし、コンポーネントがtMysqlInputになるようにします。
  7. tMysqlInput[Basic settings] (基本設定)ビューで、データベースアクセスのパラメーターを設定します。
    • [Host] (ホスト)[Port] (ポート)[Database] (データベース)[Username] (ユーザー名)[Table Name] (テーブル名)の各フィールドで、[Contexts] (コンテキスト)ビューで定義しておいた変数を指定します。
    • [Password] (パスワード)フィールドの横にある[...]ボタンをクリックし、[Enter a new password] (新規パスワードを入力)ダイアログボックスにカスタムルーチン関数を呼び出す式を入力します。この例ではMyRoutine.decrypt(context.Password)となります。
  8. データベースのテーブルストラクチャーに基づいてスキーマを設定し、[Guess Query] (クエリーの推測)をクリックしてクエリーステートメントを入力します。
  9. ジョブを保存して実行します。

タスクの結果

以上で、データベースに接続してそこからデータを読み取れるようになります。