Skip to main content
多くの場合、ユーザーは外部情報をデータフロータスクに統合する必要があります。 は、そのようなシナリオを可能にするジョブ前およびジョブ後の両イベントを提供します。これらのイベントを使用すると、 アプリケーションに含まれるXML ベース言語APIScript を使用して、クエリパラメータを挿入したり、他の外部の処理をトリガーしたりできます。 バッチファイルの実行、Eメール送信、新しいジョブの実行のトリガーなどの一般的なアクションを自動化するための完全なコードスニペットが に含まれています。ジョブのイベントタブで、スニペットを挿入をクリックして、実行するアクションを選択します。必要なコードがカーソルに挿入されています。

Pre-Job イベント

pre-job イベントは、ジョブがクエリの実行を開始する前に発生します。ジョブの名前、データソース、同期先などを含むジョブに関する詳細は、イベントスクリプト内でロジカルな選択を行うために使用できる入力パラメータとして利用できます。また、後でジョブの実行中に使用できる出力項目の属性値をプッシュすることもできます。

環境変数を作成

環境変数は、pre-job イベントスクリプトで作成し、ジョブの実行に追加できます。次の例では、現在のタイムスタンプでcurrentTimeStamp 変数を作成し、その値を持つout アイテムをジョブにプッシュします。

REPLICATE クエリでの環境変数の使用

REPLICATE クエリ内で、ジョブにプッシュされた環境変数をさまざまな方法で使用できます。環境変数を参照するには、env:attribute を中かっこ()で囲みます。次の例では、currenttimestamp の値を新しいカラムDateUpdated に設定します。

Post-Job イベント

post-job イベントは、ジョブがクエリの実行を完了した後に始まります。インプット項目には、他の操作の呼び出しに使用できるジョブの実行結果が含まれます。

ジョブ実行のトリガー

post-job イベントを設定して別のジョブの実行をトリガーできます。例えば、次のコードスニペットは、現在のジョブがクエリの実行を終了した後にJob2 を実行します。api:if キーワードを使用してこの例を拡張し、現在のジョブが成功した場合にのみJob2 を実行することもできます。

この例では、job.WorkspaceId アトリビュートはターゲットジョブを含むワークスペースを識別します。同じワークスペース内のジョブをトリガーする場合は、このアトリビュートを default に設定するか、ワークスペースの名前を指定します。別のワークスペースのジョブをトリガーする場合は、そのワークスペースの名前を指定します。イベントエディタのスニペットを挿入オプションには、job.WorkspaceId アトリビュートが自動的に含まれており、値は default に設定されています。

このアトリビュートは、次のケースで必須です:

  • 両方のジョブのワークスペースが同じであるが、デフォルトのワークスペースではない場合。
  • 開始ジョブとターゲットジョブが異なるワークスペースに属している場合。

このような場合にこのアトリビュートを省略すると、API 呼び出しが失敗する可能性があります。失敗が発生した場合、 は保存操作中またはジョブ実行時にエラーメッセージを表示しません。post-job イベントが期待通りに実行されなかった場合でも、ジョブのステータスは成功として表示されます。ただし、エラーはアプリケーションログに記録されます。post-job イベントが実際に成功したかどうかを確認するには、ジョブの実行後にログを確認してください。

サンプルスクリプトの拡張

このセクションのコードスニペットは、APIScript を使用してできることのほんの一例です。APIScript 言語は完全な計算能力を備えているため、複雑なビジネスロジックを管理できます。 実行フローなどを制御するには、他のAPIScript キーワードを使用できます。このスクリプトには、処理と自動化をアシストする多くの機能拡張と組み込み操作が含まれています。例えば、APIScript はEメールの送信やファイルの移動などのタスクを容易にします。 オペレーションに固有の追加のインプット値を渡すこともできます。
  • appSendEmail オペレーションは、本文、添付ファイル、SSL/TLS プロパティなど、いくつかの追加インプット項目を受け付けます。これらの項目は、api:set キーワードを使用して指定します。
  • api:call キーワードを使用することで、イベント内の任意の組み込み操作を呼び出したり、API を呼び出すこともできます。

詳細について

APIScript の構文および機能の詳細については、APIScript 入門 を参照してください。