出力ファイルのJSONスキーマを定義する - 7.1

Talend ESB Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend ESB
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

このタスクについて

これまでの操作が終了したら、青色の矢印が示すように、[Linker Source] (リンカーソース)エリアのカラムが[Linker Target] (リンカーターゲット)で対応するカラムに自動的にマッピングされます。

この手順では、出力スキーマを定義する必要があります。次の表は、それぞれの操作方法を説明しています。
内容... 操作
ループエレメントを定義する

[Linker Target] (リンカーターゲット)エリアで、エレメントを右クリックし、コンテキストメニューから[Set As Loop Element] (ループエレメントとして設定)を選択します。

注:

ループを実行するようにエレメントを定義することは必須です。

グループエレメントを定義する

[Linker Target] (リンカーターゲット)エリアで、エレメントを右クリックし、コンテキストメニューから[Set As Group Element] (グループエレメントとして設定)を選択します。

注:

ループエレメントの親エレメントは、親エレメントがJSONツリーのルートでない限り、グループエレメントとして設定できます。

エレメントの子エレメントを作成する

[Linker Target] (リンカーターゲット)エリアで、次のいずれかを行います。

  • エレメントを右クリックし、コンテキストメニューから[Add Sub-element] (サブエレメントの追加)を選択します。表示されるダイアログボックスにサブエレメントの名前を入力して、[OK]をクリックします。

  • エレメントを選択し、下部の[+]ボタンをクリックします。表示されるダイアログボックスで[Create as sub-element] (サブエレメントとして作成)を選択し、[OK]をクリックします。次のダイアログボックスにサブエレメントの名前を入力し、[OK]をクリックします。

エレメントの属性を作成する

[Linker Target] (リンカーターゲット)エリアで、次のいずれかを行います。

  • エレメントを右クリックし、コンテキストメニューから[Add Attribute] (属性の追加)を選択します。表示されるダイアログボックスに属性の名前を入力して、[OK]をクリックします。

  • エレメントを選択し、下部の[+]ボタンをクリックします。表示されるダイアログボックスで[Create as attribute] (属性として作成)を選択し、[OK]をクリックします。次のダイアログボックスに属性の名前を入力し、[OK]をクリックします。

エレメントのネームスペースを作成する

[Linker Target] (リンカーターゲット)エリアで、次のいずれかを行います。

  • エレメントを右クリックし、コンテキストメニューから[Add Name Space] (ネームスペースの追加)を選択します。表示されるダイアログボックスにネームスペースの名前を入力して、[OK]をクリックします。

  • エレメントを選択し、下部の[+]ボタンをクリックします。表示されるダイアログボックスで[Create as name space] (ネームスペースとして作成)を選択し、[OK]をクリックします。次のダイアログボックスにネームスペースの名前を入力し、[OK]をクリックします。

1つ以上のエレメント、属性、ネームスペースを削除する

[Linker Target] (リンカーターゲット)エリアで、次のいずれかを行います。

  • エレメント、属性、またはネームスペースを右クリックし、コンテキストメニューから[Delete] (削除)を選択します。

  • エレメント、属性、またはネームスペースを選択し、下部の[x]ボタンをクリックします。

  • エレメント、属性、またはネームスペースを選択し、[Delete]キーを押します。

    注:

    エレメントに子が存在する場合、エレメントを削除すると子も削除されます。

1つ以上のエレメントの順序を変更する

[Linker Target] (リンカーターゲット)エリアで、エレメントを選択し、ボタンとボタンを押します。

エレメント、属性、またはネームスペースに静的な値を設定する

[Linker Target] (リンカーターゲット)エリアで、エレメント、属性、またはネームスペースを右クリックし、コンテキストメニューから[Set A Fix Value] (固定値の設定)を選択します。

注:
  • 設定した値により、ジョブの入力側データフローから取得された該当するコラムの値が置き換えられます。

  • ループエレメントの子エレメントには、エレメントに子エレメントがなく、ソースターゲットのマッピングが存在しない限り、静的な値を設定できます。

ソースターゲットのマッピングを作成する

[Linker Source] (リンカーソース)エリアで、カラムを選択し、[Linker Target] (リンカーターゲット)エリアのノードにドロップします。必要に応じて、ダイアログボックスで[Create as sub-element of target node] (ターゲットノードのサブエレメントとして作成)[Create as attribute of target node] (ターゲットノードの属性として作成)、または[Add linker to target node] (リンカーをターゲットノードに追加)を選択し、[OK]をクリックします。

ターゲットノードに許可されていないオプションを選択すると、警告のメッセージが表示され、操作は失敗します。

ソースターゲットのマッピングを削除する [Linker Target] (リンカーターゲット)エリアで、ノードを右クリックし、コンテキストメニューから[Disconnect Linker] (リンカーの切断)を選択します。
別のJSONファイルからJSONツリーを作成する [Linker Target] (リンカーターゲット)エリアで、スキーマアイテムを右クリックし、コンテキストメニューから[Import JSON Tree] (JSONツリーのインポート)を選択して、別のJSONファイルをロードします。次に、ソースターゲットのマッピングを手作業で作成し、出力スキーマを再度定義する必要があります。
注:

Ctrlキー + Shiftキーを使うと、複数のフィールドを選択してドロップでき、すばやくマッピングできます。右クリック操作でも複数の選択ができます。

手順

  1. [Linker Target] (リンカーターゲット)エリアで、ループエレメントとして設定するエレメントを右クリックし、コンテキストメニューから[Set As Loop Element] (ループエレメントとして設定)を選択します。
    この例では、[details] (詳細)エレメントで実行するループを定義します。
  2. 必要に応じてマッピングをカスタマイズします。
  3. [Next] (次へ)をクリックし、スキーマを確定します。