language 属性を設定することで行います:
組み込みオブジェクトインターフェース
のPython 実装では、2つの主要なインターフェースが使用されます。これらは、以下に一覧表示する組み込み変数を保持し、それらへのアクセスを提供します:ScriptContext
これは、 のPython スクリプトのメインのスクリプティングコンテキストオブジェクトを表します。アイテムへのディクショナリのようなアクセスを提供し、ログ記録機能を含みます。このインターフェースは、コンテキストへのアクセスに使用できる_ctx 変数へのアクセスを提供します。
利用可能なメソッドは次のとおりです:
ScriptItem
これは、 のスクリプティング環境における個々のデータアイテムを表します。アトリビュートへのディクショナリのようなアクセスを提供し、値リストを保持します。次の変数は、自動的に利用可能なScriptItem のインスタンスです: 利用可能なメソッドは次のとおりです: 大枠では、_ctx はスクリプティングコンテキストへのアクセスを提供し、_input、output、_message はあらかじめインスタンス化されたScriptItem オブジェクトです。カスタムアイテムを動的に作成またはアクセスするには、_ctx.itemname 構文を使用します。詳細については、組み込み変数およびオペレーションを参照してください。
組み込み変数
これらの変数は、スクリプティング環境におけるメッセージコンテキストの中核へのアクセスを提供します。これらを使用して、スクリプティングエンジンで利用可能なアイテムとやり取りします。_ctx
スクリプティング環境にアクセスするためのメイン変数です。これは以下を提供します:- スクリプトで利用可能なすべてのアイテムへのアクセス
- 新しいアイテムの作成、アイテムのプッシュ、およびアプリケーションログへのログ記録の機能
_ctx 変数のlog メソッドを呼び出して、INFO ログレベルを使用してアプリケーションログに情報を記録しています:
_input
スクリプティングエンジンの読み取り専用のインプットアイテムです。利用可能なアトリビュートは、スクリプトを記述するコンテキスト(コネクタのアクションタイプなど)によって異なります。例えば、Transform アクションに設定されたScript コネクタでは、次のアトリビュートを使用できます:- ConnectorId
- WorkspaceId
- MessageId
- FilePath
- FileName
- Attachment#
- Header:*
output
単一のアウトプットのみが必要な場合に、独自のアイテムを作成してプッシュする代わりとなる組み込みアイテムです。push() を明示的に呼び出してアウトプットとして送信する必要があるカスタムアイテムとは異なり、output アイテムはスクリプトの完了時に自動的にプッシュされます。そのプロパティを変更するだけで、スクリプトの実行が完了すると、追加のpush() 呼び出しを必要とせずにアウトプットとして自動的にプッシュされます。
アトリビュートをアイテムに直接設定することも、dict を使用して定義することもでき、独自に定義したアイテムに対しても同じことができます。次の例では、いくつかのデータを含むアウトプットファイルをプッシュします:
_message
コンテキストにメッセージがロードされている場合に、現在のメッセージへのアクセスを提供します。この変数は、特定のシナリオでコネクタによってメッセージがアクティブに処理されている場合(コンテキストにメッセージがロードされている場合など)にのみアクセスできます。例えば、_message 変数は、アクションがTrigger に設定されたコネクタでは利用できません。これは、コネクタが処理を終えるまでメッセージが存在しないためです。この変数が利用できない場合、_message is not defined 例外が表示されます。
次のアトリビュートを使用できます:
- Header:Message-Id
- Header:FileName
- Header:*
- body
_message アイテムからCustomerID ヘッダーを読み取り、現在のメッセージのログファイルにエントリとして出力する方法を示しています。
result
特にXML Map スクリプトノードで使用する特別な変数です。これはスクリプト全体の結果として扱われます。この変数の値は、マップ内のノードの値として使用されます。ただし、Script コネクタでのデバッグツールとしても使用できます。 次の例は、XML Map コネクタの宛先ノードのスクリプトで使用されるもので、先頭で宣言されたScript アイテムからソースファイルのaddress/city xpath を読み取り、Python を使用して値を最初の3文字すべて大文字に変更します。新しい値は、result の値として送信されます:
result 変数を使用してScript コネクタのログファイルにエントリを追加します:
オペレーション
log
log(level, message) は、_ctx 変数で利用可能なメソッドで、 のアプリケーションログにエントリを直接書き込むことができます。利用可能なログレベルは、DEBUG、INFO、WARNING、ERROR です。

push
push(item) は、指定されたアイテムをスクリプトのアウトプットとしてプッシュします。アウトプットが指定されていない場合は、output アイテムがプッシュされます。
次の例では、新しいアイテムfoo がScriptContext に作成され、いくつかのデータとファイル名が割り当てられてからプッシュされます。
get
get(attr) は、ScriptItem の指定されたアトリビュートの値を返します。このメソッドは、アトリビュートに名前でプログラム的にアクセスする方法を提供します。これは、ドット表記(_input.myattr など)を使用して直接アトリビュートにアクセスすること、またはディクショナリスタイルのアクセス(_input.get('myattr') など)と機能的に同等です。
次の例では、item オブジェクトのtags アトリビュートの値リストを、現在のスクリプトのログファイルに出力します。
clear
clear() は、メソッドが呼び出されたScriptItem をクリアします。アイテムはそのまま残り、空になるだけです。
- Before clear:
{"price":"2.99","name":"Milk","tags":["perishable","dairy","noreturn"]} - After clear:
{}