スクリプティング
Version 25.3.9469
Version 25.3.9469
スクリプティング
CData Arc は、フローページで設定されたコネクタを通じて、複雑なデータ統合ユースケースを処理するようにデザインされています。ただし、一部のエッジケースでは、スクリプトを使用してArc 機能セットを拡張する必要がある場合があります。Arc には2つのスクリプト言語があります:
- ArcScript—ワークフローの自動化、データの変換、およびコネクタの動作のカスタマイズを行うために使用される、シンプルなXML ベースのコマンドを使用したスクリプト言語。
- Python—幅広いプラットフォームや業界で、データの処理、ワークフローの自動化、およびカスタムアプリケーションの構築に使用されるプログラミング言語。
スクリプトを使用して、ファイルの編集(コンテンツ、ヘッダー、ファイル名など)、外部メッセージフローのトリガー、標準形式に容易にフィットしないカスタムデータのモデル化、外部スクリプトやプロセスの実行などを行うことができます。このセクションでは、言語としてのArcScript の概要と、サポートされている値フォーマッタ、キーワード、オペレーションについて、例を挙げて詳しく説明します。
スクリプティングフック
Arc は3つの主要なフックをスクリプト言語に公開しています。すべてのコネクタのイベント、専用のScript コネクタ、およびXML Map コネクタのカスタムスクリプトオプションです。
イベントスクリプティング
各コネクタは、ファイルの処理中に特定のタイミングでカスタムスクリプトを実行する機会を提供します。これらはイベントと呼ばれます。
-
送信前イベントは、コネクタがファイルを送信 / 処理するための準備を完全に整えた後で、送信 / 処理が実際に行われる前に発生します。 -
送信後イベントは、コネクタがファイルを送信した後に発生します。このイベントは、アプリケーションの外部にファイルを送信するコネクタ(リモートサーバーにファイルをアップロードするなど)にのみ適用されます。 -
受信後イベントは、コネクタが新しいファイルを作成した後に発生します。この新しく作成されたファイルは、外部ソースからファイルを受信した結果(AS2 経由でメッセージを受信するなど)、またはすでにArc フロー内にあるファイルを変更または変換した結果(例えば、EDI ファイルをXML に変換すると新しいXML ファイルが作成されます)である可能性があります。
例えば、AS2 経由で受信したファイルにカスタムヘッダーを追加する必要がある場合があります。ヘッダーの値を決定してファイルにヘッダーを追加するロジックをArcScript に記述し、このスクリプトをファイルの受信を担うAS2 コネクタの受信後イベントに設定できます。
Note:イベントスクリプトを使用して、フローに直接ファイルを作成したり、フローを通じてファイルの内容を変更したりすることはできません。
イベントでのエラーハンドリング
イベントスクリプトの実行は、ファイルの送受信が成功したときにトリガーされるため、スクリプトでスローされたエラーは送受信操作のステータスに影響しません。このため、イベントでのスクリプティングは、成功が保証されているか、全体のフローに影響を与えずに失敗できるスクリプトに制限する必要があります。
スクリプトの例外によってファイルの処理が停止するようにするには、次のセクションで説明する専用のScript コネクタにスクリプトを移動します。Script コネクタを使用すると、エラーをアクティビティページに記録したり、失敗したオペレーションに対してArc の再試行機能を使用したりすることも可能です。
Script コネクタ
Arc には、カスタムスクリプトを実行するための専用コネクタが含まれています。ファイルをコネクタに渡すことで(他のコネクタと同じ方法で)フロー内のScript コネクタをトリガーしたり、受信オートメーション設定を使用して、指定した間隔に従って自動的に実行させることができます。
Script コネクタは、ArcScript でカスタムロジックを実行するための最も柔軟な方法です。さらに、スクリプトの実行が別のコネクタのイベントで設定されるのではなく、専用のコネクタを使用して視覚的に表わされると、Arc フローを理解および保守しやすくなります。
Script コネクタは、push キーワードを使用してアウトプットファイルを生成したり、アウトプットを生成せずにロジックを実行したりできます。
XML Map コネクタ
XML Map コネクタは、XML をある構造から別の構造に変換するビジュアルデザイナーを提供します。XML Map デザイナーの主な使い方は、要素をソースツリーから宛先ツリーにドラッグ&ドロップする方法です。このシンプルなアプローチは、マッピング中に拡張可能なカスタム処理をサポートするためのスクリプティングの概念で強化されています。
XML Map コネクタのノード値エディタは、ArcScript のフォーマッタを使用して、マッピング中にデータを動的に変更およびフォーマットします。これらの式には、変数の設定やオペレーションの呼び出しなど、スクリプティングの他のアスペクトは必要ありません。
XML Map コネクタには、特定の要素をマッピングするためのカスタムスクリプトエディタもあります。すべてのArcScript 機能はカスタムスクリプトで利用可能で、マッピング中の任意のビジネスロジックをサポートします。これらのスクリプトには、スクリプトの実行終了までに result.text 属性が出力値(マップされたXML 要素に設定される値)に設定されるという独自の要件があります。