自動トリガー ワークフロー手動トリガーワークフローDataWorks は、2 種類のワークフローを提供します。 と です。自動トリガーワークフローのノードは定期的に実行されるようにスケジュールされ、手動トリガーワークフローのノードは手動でトリガーされて実行されます。このトピックでは、自動トリガーワークフローの使用方法について説明します。
背景情報
ワークフローは、データ処理プロセス用の自動管理ツールの一種です。ワークフローの構成タブでさまざまな種類のノードをドラッグして、ノードのスケジューリング依存関係を簡単に構成できます。これにより、データ処理プロセスの構築が加速され、タスク開発効率が効果的に向上します。
このトピックでは、自動トリガーワークフローの使用方法について説明します。手動トリガーワークフローの使用方法については、「手動トリガーワークフロー」をご参照ください。
自動トリガーワークフローと手動トリガーワークフローの違いについては、「機能の説明」をご参照ください。
サポートされているスケジューリング依存関係
自動トリガーワークフローのスケジューリング依存関係の構成は、一般的なノードの構成とほぼ同じです。自動トリガーワークフロー内のノード、または自動トリガーワークフロー全体は、他のノードに依存したり、他のノードから依存されたりすることができます。以下の依存関係がサポートされています。
ワークフロー全体は、他の独立したタスクまたはワークフローから依存される可能性があります。
ワークフロー全体は、他の独立したタスクまたはワークフローに依存する可能性があります。
ワークフロー内のタスクは、他の独立したタスクまたはワークフローに依存する可能性があります。
ワークフロー内のタスクは、他の独立したタスクまたはワークフローから依存される可能性があります。
実行プロセスにおける自動トリガーワークフローの状態変化
自動トリガーワークフローのスケジュール時刻を指定できます。自動トリガーワークフロー内のノードの実行は、スケジュール時刻の影響を受けます。ノードが自動トリガーワークフローに依存している場合、ノードの実行は自動トリガーワークフローのスケジュール時刻の影響を受けます。スケジューリングシナリオでは、自動トリガーワークフローのステータスは、ワークフロー内のタスクのステータスによって影響を受けます。
特別なシナリオ:
ワークフロー内のインスタンスが凍結または一時停止されている場合、ワークフローインスタンス全体が 失敗 状態になります。
ワークフロー内のタスクに対して生成されたデータバックフィルインスタンスが凍結されている場合、ワークフローインスタンスは 成功 状態になります。
データバックフィルシナリオでタスクを実行できない場合、タスクが属するワークフローは 失敗 状態になります。
インスタンスステータスが変化する時刻と、障害イベントが実際に発生する時刻の間には、時間差があります。
ワークフローにマージノードが存在する場合、マージノードの上位ノードが失敗する可能性があります。この場合、マージノードが成功状態にあるかどうかによって、ワークフローが成功状態にあるかどうかを確認できます。
自動トリガーワークフロー内のノードの実行時間とパラメーターの置き換え
ワークフロー内のノードの [スケジューリングサイクル] を構成する必要はありません。ワークフロー内のノードの [遅延実行時間] のみ構成する必要があります。遅延実行時間は、ワークフロー内のノードがワークフローのスケジュール時刻から遅延される時間の長さを示します。
ワークフロー内のノードの実際の実行時間は、ノードに構成された [遅延実行時間] とワークフローに構成された [スケジュール時刻] に基づいて計算されます。
ワークフロー内のノードのスケジューリングパラメーターの値の割り当ては、ワークフローの全体的なスケジュール時刻に基づいて決定されますが、遅延後の時刻に基づいて決定されるわけではありません。
注意事項
新バージョンの Data Studio のみが自動トリガーワークフローをサポートしています。
参照可能 ワークフローは、別のワークフローに依存したり、本番環境にデプロイされた後に自動的にスケジュールされたりすることはできません。
重要参照可能 ワークフローは、別のワークフローに依存したり、別のワークフローから依存されたりすることはできません。ワークフロー内のノードは、ワークフローに属さない他のノードに依存したり、ワークスペースのルートノードなどの他のノードから依存されたりすることはできません。そうでない場合、参照可能ワークフローをデプロイすると、エラーが報告され、ワークフローを想定どおりにデプロイできません。
参照可能 ワークフローが本番環境にデプロイされた後、SUB_PROCESS ノード を使用して別のワークフローによって参照されるまで、ワークフローは自動的にスケジュールされません。
ワークフローの作成
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[アクション] 列で を選択します。
Data Studio ページの左側のナビゲーションウィンドウで、
アイコンをクリックします。DATA STUDIO ウィンドウの [ワークスペースディレクトリ] セクションで、右側にある
アイコンをクリックし、[ワークフローの作成] を選択します。表示されるポップオーバーで、ワークフロー名を指定し、Enter キーを押します。ワークフローの構成タブが表示されます。
説明DATA STUDIO ウィンドウの [ワークスペースディレクトリ] セクションで初めて操作を実行する場合は、[ワークフローの作成] を直接クリックしてワークフローを作成できます。
ワークフローの設計
編集状態のワークフローの構成タブに移動します。
ワークフローを編集ワークフローを作成すると、ワークフローの構成タブが表示され、ワークフローはデフォルトで編集状態になります。または、[ワークスペースディレクトリ] セクションでワークフローの名前をクリックしてワークフローの構成タブに移動し、 をクリックすることもできます。
ワークフローを設計します。
ワークフローの構成タブの左側で、開発するタスクのタイプに基づいてノードタイプを選択し、ノードタイプを右側のキャンバスにドラッグします。次に、手動で線をドラッグして、ノード間のスケジューリング依存関係を構成します。
説明DataWorks は、さまざまな計算エンジンの機能をさまざまなタイプのノードにカプセル化します。さまざまな計算エンジンのタイプのノードを使用して、計算エンジンで複雑なコマンドを実行する必要なく、視覚的にデータを開発できます。また、DataWorks の汎用ノードを使用して、複雑なロジックを設計することもできます。
ワークフローに多数のノードが作成されている場合、ワークフローが正しく実行されない可能性があります。ワークフローには最大 200 個のノードを作成できますが、ワークフローには 100 個以下のノードを作成することをお勧めします。
ワークフローを保存します。
ワークフローを設計した後、ワークフローの構成タブの上部ツールバーにある [保存] をクリックしてワークフローを保存します。
ワークフローの開発
次の手順を実行して、ワークフローを開発できます。また、ワークフロー間の参照を構成し、ワークフローパラメーターをワークフロー内のノードのパラメーターに透過的に渡すこともできます。詳細については、「付録: ワークフローの参照」をご参照ください。
ワークフロー内のノードの構成タブに移動します。
ワークフローの構成タブで、ポインターを目的のノードの上に移動し、[ノードを開く] をクリックして、ノードの構成タブに移動します。
ノードを開発します。
ノードの構成タブで、ノードコードを編集します。コード開発中は、次の項目に注意してください。
コード構文は、選択したノードタイプによって異なります。タスクの種類によって、スケジューリング構成が異なります。詳細については、「ノードの開発」をご参照ください。
インテリジェントプログラミングアシスタント Copilot を有効にして、インテリジェントなコード補完の提案を取得し、開発効率を向上させることができます。
ほとんどのノードタイプでは、
${変数名}
形式で変数を定義できます。このようにして、タスクコードのデバッグを容易にするために、変数に値として異なるスケジューリングパラメーターを割り当てることができます。ワークフローでスケジューリングノードを実行する場合、ノードのコードエディターで
${workflow.[パラメーター名]}
の形式でワークフローパラメーターを定義して、ワークフローパラメーターの値を取得できます。
ノードをデバッグして実行します。
デバッグパラメーターを構成します。コードを編集した後、ノードの構成タブの右側のナビゲーションウィンドウで [デバッグ構成] タブをクリックして、デバッグパラメーターを構成できます。
[計算リソース] セクションで、デバッグするノードのタスクの計算リソースを指定します。
[DataWorks 構成] セクションで、DataWorks でタスクを実行するために使用するリソースグループを指定します。
ノードコードで
${変数名}
スクリプト パラメータ 形式で変数を定義した場合は、[スクリプトパラメーター] セクションで変数に定数を割り当てます。
ノードをデバッグして実行します。構成が完了したら、ノードの構成タブの上部ツールバーにある [実行]デバッグ構成 をクリックして、[デバッグ構成] タブで構成されたデバッグパラメーターに基づいてノードを実行します。
ワークフローのデバッグ
次の手順を実行して、ワークフローをデバッグできます。
ワークフローを保存します。
デバッグが完了したら、ワークフローの構成タブの上部ツールバーにある [保存] をクリックします。[変更レビュー] メッセージで、[保存] をクリックします。
ワークフローをデバッグします。
ワークフローの構成タブの上部ツールバーにある
アイコンをクリックします。[ランタイムパラメーターを入力] ダイアログボックスで、[この実行で使用される値] パラメーターを構成し、[OK] をクリックします。
ワークフローの構成タブでノードをクリックして、実行結果を表示します。
ワークフローのデプロイ
次の手順を参照して、ワークフローとワークフロー内のノードのスケジューリング設定を定義し、ワークフローを本番環境にデプロイして定期的にスケジューリングできます。
ワークフロー内のノードのスケジューリング設定を構成します。
ワークフロー内のノードのスケジューリング設定を構成する手順は、基本的に一般的なノードの手順と同じです。詳細については、「スケジューリングの依存関係」をご参照ください。ワークフロー内のノードのスケジューリング設定を構成する際は、次の項目に注意してください。
ワークフロー内のノードのスケジュール時刻を個別に構成する必要はありません。代わりに、ワークフロー内のノードの 遅延実行時間 を構成できます。遅延実行時間は、ノードの実行が関連ワークフローの実行よりも遅れる期間を示します。
ワークフロー内のノードのコードで使用される変数の値は、ワークフローのスケジュール時刻に基づいて割り当てられます。
ワークフローのスケジューリング設定を構成します。
ワークフローのスケジューリングパラメーター、スケジュール時刻、およびスケジューリング依存関係を構成します。
ワークフローをデプロイします。
ワークフローの構成タブの上部ツールバーにある
アイコンをクリックします。[デプロイ] タブで、[本番環境へのデプロイを開始] をクリックします。ワークフローは、チェックとデプロイのプロセスに基づいてデプロイされます。詳細については、「ノードまたはワークフローのデプロイ」をご参照ください。
次の手順: ワークフローの O&M
自動トリガーワークフローがデプロイされると、自動トリガーワークフローは定期的にスケジュールされます。本番環境のオペレーションセンターで自動トリガーワークフローのステータスを表示し、自動トリガーワークフローで O&M 操作を実行できます。詳細については、「概要」および「データのバックフィルとデータバックフィルインスタンスの表示 (新バージョン)」をご参照ください。
付録: ワークフローの参照
シナリオ 1: ワークフローの参照
ワークフロー内の SUB_PROCESS
ノードを使用して、別のワークフローを参照できます。ワークフローを参照可能にするには、次の手順を実行します。ワークフローの構成タブの右側のナビゲーションウィンドウで、[プロパティ] をクリックします。表示されるタブで、[参照可能] をオンにします。
参照可能ワークフローのスケジュール時刻は、参照可能ワークフローを参照するワークフローのスケジュール時刻によって異なります。