Transaction RunGraphコンポーネント

Transaction RunGraphコンポーネントは、1つのEndeca Server外部トランザクション内で複数のIntegrator ETLグラフを実行します。

Transaction RunGraphコンポーネント
Transaction RunGraphコンポーネントは外部トランザクションを開始し、そのトランザクション内で1つ以上のサブグラフを実行します。すべてのサブグラフが正常に完了すると、トランザクション全体が完了します。トランザクション内のいずれかのグラフが失敗すると、トランザクション全体が失敗します。
  • 1つ以上のグラフを実行できます。
    • 1つのグラフを実行するには、グラフのURLをグラフURLプロパティで指定します。
    • 複数のグラフを実行するには、ファイル内で実行するグラフの名前を指定し、UniversalDataReaderを使用してそのファイルを読み込みます。このデータをTransaction RunGraphコンポーネントの入力ポートに渡します。
  • Transaction RunGraphはトランザクションWebサービスを使用して外部トランザクションを開始し、コミットします。一度に開くことのできる外側トランザクションは1つのみです。

    外部トランザクションの実行中、外部トランザクションに含まれているグラフは単独で実行できません。

  • デフォルトでは、トランザクションが失敗した場合、コンポーネントはトランザクションを開始する前の状態にロールバックして、トランザクションをコミットしますが、失敗が発生する前に正常に行われた変更をすべてコミットするようにコンポーネントを構成したり、何もせずにトランザクションを実行したままにするように構成することもできます。
  • Transaction RunGraphコンポーネントはトランザクションの間、トランザクションIDの値を文字列transactionでオーバーライドします。この動作は、workspace.prmの外部トランザクションのIDパラメータの値が空である(OUTER_TRANSACTION_ID=)ことを前提としています。
  • 次のようなサブグラフ内にあるすべてのコンポーネントは、
    • Webサービスまたはバルク・ロード・インタフェースのいずれかを使用してデータ・ドメインにリクエストを送信し、
    • Transaction RunGraph内で実行される
    外部トランザクションの一部として実行する場合、外部トランザクションのIDを参照する必要があります。こうしたコンポーネントの外部トランザクションIDプロパティの値は、外部トランザクションIDのグローバル変数(通常は、${OUTER_TRANSACTION_ID})を使用する必要があります。
  • データ・ドメインWebサービスを実行するよう構成されたWebServiceClientコンポーネントを使用し、このコンポーネントをTransaction RunGraphの内側で使用する場合は、コンポーネントのリクエスト構造フィールドに最初の要素としてOuterTransactionIdを外部トランザクションの値とともに含める必要があります。

    注意: 外部トランザクションを使用しない場合でも、Webサービスベースのコンポーネントはworkspace.prmの値を参照するOuterTransactionIDを使用する必要があります。値が空の場合、トランザクションID属性はデータ・ドメインによって無視されます。このため、コンポーネントはworkspace.prmを変更する必要なしに、トランザクションの外側で実行できます。
    たとえば、リクエスト構造で指定された次のリクエストは、パラメータとして外部トランザクションのIDを参照します。
    <config-service:configTransaction 
    xmlns:config-service="http://www.endeca.com/MDEX/config/services/types/1/0" 
    <config-service:OuterTransactionId>${OUTER_TRANSACTION_ID}</config-service:OuterTransactionId>
    <config-service:putGroups 
    xmlns:config-service="http://www.endeca.com/MDEX/config/services/types/1/0" 
    xmlns:mdex="http://www.endeca.com/MDEX/XQuery/2009/09">
    ...
    </config-service:putGroups>
    </config-service:configTransaction>

    この例で、要素OuterTransactionIdは、プロジェクトのworkspace.prmファイルにリストされている外部トランザクションのIDを指定しています。

ユースケース

1つのトランザクション内で複数のグラフを実行する必要がある場合は、Transaction RunGraphコンポーネントを使用します。この機能が必要になる状況として最も一般的なのは、初期ロードの実装およびデータ・ドメインのベースラインの更新です。
  • 一般的な初期ロードは、Reset Data Domainコンポーネントで開始して、データ・ドメインのプロビジョニングを行い、構成およびデータをロードする1つ以上のグラフが続きます。Transaction RunGraphコンポーネントを使用してすべて1つのトランザクション内にラップされます。
  • 一般的なベースライン更新はExport Configコンポーネントを使用して構成およびスキーマをエクスポートするグラフで開始します。次に、Reset Data Domainコンポーネントを持つグラフがすべてのレコードを削除し、Endecaデータ・ドメインを再プロビジョニングします。Import Configコンポーネントが以前に保存された構成およびスキーマをリロードした後、1つ以上のグラフがレコードおよびレコード属性値をリロードします。Transaction RunGraphコンポーネントを使用してすべて1つのトランザクション内にラップされます。

メタデータ・スキーマ

Transaction RunGraphコンポーネントのメタデータ・スキーマは修正されません。

(コネクタに接続しているエッジのメタデータの編集ダイアログに表示されている)Integrator ETLフィールドのメタデータ・タイプはmdexプロパティ・タイプに変換されます。たとえば、Integrator ETLのintegerデータ型はmdex:intデータ型に変換されます。Integrator ETLの非ネイティブ・タイプ(mdex:durationmdex:timemdex:geocodeなど)をサポートするには、この動作をオーバーライドする必要があることに注意してください。詳細は、「mdexTypeカスタム・プロパティの作成」を参照してください。

構成プロパティ

注意: すべてのコネクタのビジュアル・プロパティの詳細は、「コンポーネントのビジュアル・プロパティ」を参照してください。すべてのコネクタに共通の構成プロパティの詳細は、「コンポーネントの共通構成プロパティ」を参照してください。

次の表は、Transaction RunGraphコンポーネントに使用可能な構成プロパティを示しています。

表1 Transaction RunGraphのプロパティ
名前 説明 有効な値
グラフURL トランザクション内で実行する個々のグラフへのパス。

このフィールドには、トランザクションで1つのグラフを実行する場合にのみ値を入力します。複数のグラフを実行する場合は、入力ファイルを作成し、リーダー・コンポーネントを使用して値を読み取ります。

グラフへの有効なパス。
Endeca Serverホスト Endeca Serverが稼働しているマシンを指定します。 そのマシンの名前またはIPアドレス。localhostを使用できます。 MyEndecaServer

255.255.255.0

Endeca Serverポート Endeca Serverがリスニングしているポートを指定します。 有効なポート。

Endeca Serverのデフォルト・ポートは7001ですが、別のポートに変更できます。

7001
データ・ドメイン名 変更されるデータ・ドメインの名前。

データ・ドメインは、コネクタが含まれているグラフが実行されるときに稼働している必要があります。

有効なデータ・ドメイン名 quickstart
失敗時 トランザクションが失敗した場合のIntegrator ETLの動作を指定します。
  • ロールバック

    デフォルトです。トランザクションが失敗した場合、トランザクションを開始する前の状態にドメイン・データをロールバックし、トランザクションをコミットします。

  • コミット

    トランザクションが失敗した場合、失敗が発生する前の正常な変更をすべてデータ・ドメインにコミットして、トランザクションをコミットします。

  • 何もしない

    トランザクションが失敗した場合、停止するだけで、他には何もしません。このオプションを選択した場合、ログを調べて正常な変更を手動で適用するかどうかを判断します。また、コミット・トランザクション操作を実行して、トランザクションを手動で終了する必要もあります。Web Services Clientコンポーネントを持つグラフを使用するか、またはWebサービス操作を直接実行できます。

SSL有効 コンポーネントのSSLを有効化または無効化します。

接続しているEndeca ServerのSSLが有効になっている場合にのみSSLを有効にしてください。

選択(True)

選択解除(False)

タイムアウト(ミリ秒) コンポーネントの操作のタイムアウトを指定します。

グラフの実行時にタイムアウトが発生すると、Endeca Serverでの操作に時間がかかる場合があります。Endeca Serverで操作をより長い時間実行できるようにこのパラメータの値を変更します。

デフォルトのタイムアウトは1分間です。

整数 60000