数十のタスクを正しい順序で、適切なタイミングに、かつ入力データが準備完了後にのみ実行する必要がある複雑なデータパイプラインを管理するには、単なるジョブスケジューラでは不十分です。DataWorks の 定期実行ワークフロー は、視覚的な有向非循環グラフ(DAG)オーケストレーションと、二重トリガー方式の実行モデルを組み合わせることでこの課題を解決します。すなわち、タスクインスタンスは、スケジュールされた時刻が到来したうえで、すべての上流依存タスクが正常終了した場合にのみ実行されます。これにより、データパイプラインは安定的・秩序立てられた状態で、自己完結型に実行されます。
定期実行ワークフローは、以下の用途でご利用ください。
固定スケジュールによるデータ処理の自動化:データ同期、データクレンジング、集約などのタスクを、毎日、毎時、または毎週といった間隔で実行します。
複雑な有向非循環グラフ(DAG)依存関係フローの構築:視覚的なドラッグ&ドロップキャンバスを使用して、MaxCompute SQL、Hologres、E-MapReduce(EMR)、Python およびその他のノードタイプを、上流/下流の依存関係で接続します。
複数のサブタスクを一元的にスケジュールおよび管理:論理的に関連するタスクを 1 つのワークフローにグループ化し、単一のユニットとしてスケジュールおよび監視します。
ワークフローは、新しいバージョンの DataWorks Data Studio のみで利用可能です。ご使用中のバージョンを確認するには、「よくある質問」をご参照ください。
クイックスタート
このセクションでは、シンプルな定期実行ワークフローをゼロから構築する手順を説明します。目標は、前日の注文総数を毎日 00:05 に自動計算し、結果をテーブルに書き込むことです。
このパイプラインは、以下の 2 つのノードで構成されます。
仮想ノード(
start_node)— 制御の開始ポイントMaxCompute SQL ノード(
count_orders)— データ処理ステップ
ステップ 1:コンピュートエンジンと結果テーブルの準備
このステップでは、ワークフローが利用する基盤インフラストラクチャを設定します。
対象のワークスペースで、MaxCompute をコンピュートエンジンとしてバインドします。
MaxCompute で結果テーブルを作成します。
-- 日次注文数を格納するための結果テーブルを作成 CREATE TABLE IF NOT EXISTS dw_order_count_test ( order_date STRING, total_count BIGINT ) PARTITIONED BY (ds STRING); -- 日付によるパーティション
ステップ 2:定期実行ワークフローの作成
このステップでは、すべてのノードとスケジューリング構成を保持するワークフローのコンテナを作成します。
DataWorks コンソールの「ワークスペース」ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。対象のワークスペースを見つけ、「ショートカット」>「Data Studio」を「操作」列から選択します。> ボタンに「Data Development」と表示されている場合は、旧バージョンが開きます。クリックしないでください。
左側のナビゲーションウィンドウにある
アイコンをクリックします。「ワークスペースディレクトリ」の右側にある  をクリックし、「ワークフローの作成」を選択します。「新規ワークフロー」ダイアログボックスで、「スケジューリングタイプ」を「定期実行スケジューリング」に設定し、名前(例:
minimal_daily_demo)を入力して作成を完了します。
ステップ 3:ワークフローのオーケストレーション
このステップでは、DAG キャンバスを使用してパイプラインの構造を定義します。
ワークフローキャンバス上で、左側のコンポーネントパネルから 仮想ノード をドラッグし、名前を
start_nodeに設定します。> 仮想ノード はワークフローの開始ポイントを定義するプレースホルダーであり、実際の計算処理は行いません。「MaxCompute SQL」ノードをキャンバス上にドラッグし、名前を
count_ordersに設定します。start_nodeの下部にあるドットをクリックし、count_ordersの上部まで線をドラッグして依存関係を作成します。
ステップ 4:ノードコードの記述
このステップでは、毎日実行されるビジネスロジックを追加します。
インテリジェントなコード補完を有効にするには、DataWorks Copilot を有効化してください。
count_ordersをダブルクリックして、ノードのコードエディタを開きます。SQL ロジックを記述します。この例では、シミュレートされたデータを使用します。
-- bizdate は、ランタイム時に注入されるスケジューリングパラメーターです。 -- $[yyyymmdd-1] は前日の日付(例:本日が 20260120 の場合、20260119)に解決されます。 INSERT OVERWRITE TABLE dw_order_count_test PARTITION (ds='${bizdate}') SELECT '${bizdate}' AS order_date, COUNT(*) AS total_count FROM (SELECT 1 AS id UNION ALL SELECT 2 AS id) t; -- シミュレートされたデータ> ノード開発の詳細については、「MaxCompute SQL ノード」をご参照ください。
保存 をクリックします。
ステップ 5:スケジューリングサイクルとパラメーターの構成
このステップでは、ワークフローの実行タイミングと、SQL に渡す日付値を指定します。
ワークフローキャンバスに戻ります。右側のパネルで、「スケジューリング」>「スケジュール時刻」に移動します。
「スケジューリングサイクル」を「毎日」に設定します。
「スケジュール時刻」を
00:05に設定します。
count_ordersノードエディタで、「スケジューリング構成」>「スケジューリングパラメーター」に移動し、以下を追加します。「パラメーター名」:
bizdate「パラメーター値」:
$[yyyymmdd-1](前日の日付)
ステップ 6:ノードおよびワークフローのデバッグ
デバッグは、ワークフローを本番環境に投入する前に、コードロジックを検証するためのものです。
ノードのデバッグ
ノードエディタの右側で、「デバッグ構成」をクリックします。
「コンピュートエンジン」で、ステップ 1 で設定した MaxCompute エンジンを選択します。
「スクリプトパラメーター」で、「今回の実行で使用する値」(デフォルトは前日の日付)を設定します。
ツールバーの「実行」をクリックします。ノードは、指定したパラメーターで実行されます。
結果が正しく表示されたら、「スケジューリング構成への同期」をクリックして、デバッグ構成をスケジューリング構成に適用します。
ワークフロー全体のデバッグ
ワークフローキャンバスの上部ツールバーにある
アイコンをクリックします。ダイアログボックスで、ワークフロー変数の「現在の実行値」を入力します。たとえば、本日が 20260120 の場合、
bizdateを20260119に設定します。
ステップ 7:本番環境への公開
公開を行うと、定義されたスケジュールで実行される定期実行タスクが本番環境に作成されます。
ワークフローに戻り、上部ツールバーの
ボタンをクリックします。公開パネルで、システムが依存関係および構成のチェックを実行します。チェックが完了したら、「本番環境へのデプロイメントを開始」をクリックし、「完全デプロイメント」を選択します。
「オペレーションセンター」に移動し、ワークフローが定期実行タスクリストに表示されることを確認します。
これで、ワークフローは毎日 00:05 に実行されるようになります。
ノードタイプ
DataWorks におけるすべてのオーケストレーションは、DAG キャンバス上で接続されたノードから構成されます。以下の表では、利用可能なすべてのノードタイプと、それぞれの使用シーンをまとめています。
| ノード | 必要なエディション | 機能 | 使用シーン |
|---|---|---|---|
| 仮想ノード | すべてのエディション | ワークフローの開始点となる、実際の処理を行わないプレースホルダー | すべてのワークフローには、ルートノードとして 1 つ必要です |
| ブランチノード | 標準エディション以降 | 上流の結果に基づいて、異なる下流パスへ実行をルーティング | 異なる結果(例:「データ存在」vs. 「データなし」)に対して異なる処理が必要な場合 |
| マージノード | 標準エディション以降 | 複数の上流ブランチのうちいずれか 1 つが完了するのを待って、その後に下流処理を継続 | 複数のブランチが収束し、そのうち 1 つだけが成功すれば次のステップに進める場合 |
| For-each ノード | 標準エディション以降 | 代入ノードの結果セットを反復処理し、各要素ごとに下流タスクを 1 回実行 | 動的なリスト(例:31 県、複数のテーブル)を処理する場合 |
| Do-while ノード | 標準エディション以降 | 条件が満たされるまでループし、その後終了 | 外部のステータスをポーリングする場合(例:同期が完了するまで 10 分ごとに確認) |
| HTTP トリガー | Enterprise Edition | 外部システムからの HTTP リクエストを受信し、DataWorks タスクを起動 | 上流の業務システムが DataWorks パイプラインを起動する必要がある場合 |
| チェックノード | Professional Edition 以降 | OSS ファイルや MaxCompute パーティションなど、外部リソースを監視し、リソースが準備完了すると下流タスクを起動 | 下流タスクが、外部プロセスによって生成されたファイルやパーティションに依存する場合 |
| 依存関係チェックノード | Enterprise Edition | クロスサイクルまたはクロスワークスペースの依存関係をポーリングし、条件が満たされると下流タスクを起動 | 日次タスクが、直前の 24 件の時間単位タスクすべての完了を待機する必要がある場合 |
| SUB_PROCESS ノード | すべてのエディション | 再利用可能なサブワークフローを参照 | 複数のワークフローが同じ処理ロジック(例:データクレンジング、フォーマット)を共有する場合 |
ノードの完全なリファレンスについては、「新しい Data Studio の汎用ノード」をご参照ください。
設計および構成
ワークフローのオーケストレーション
シンプルなオーケストレーション
DataWorks では、マルチソースからのデータ取り込みからレイヤー化モデリングに至るまでの複雑なデータパイプラインを、視覚的な DAG キャンバス上で接続された個別のノードに分解できます。上流ノードが成功すると、即座に下流タスクを起動し、パイプライン全体を安定的かつ秩序立てられた状態に保ちます。フローは静的・線形・単方向です。
ロジック再利用のためのサブワークフロー
データクレンジング、要約統計、品質チェックなど、複数のワークフローが共通の処理ステップを共有する場合、それらを サブワークフロー として再利用可能にカプセル化し、SUB_PROCESS ノードを使用します。これにより、ワークフロー間でのロジック重複を回避できます。共有ステップが変更された場合、サブワークフローのみを更新すれば済みます。
サブワークフローの作成および使用方法:
「
child_workflow」ワークフローで、「プロパティ」を「参照可能」に設定します。ワークフローがサブワークフローになります。メインワークフローで、SUB_PROCESS ノードをドラッグし、「
child_workflow」を参照先ワークフローとして選択します。
サブワークフローには以下の制約があります。
内部専用の依存関係:サブワークフローおよびその内部ノードは、外部タスクに依存できません。
分離性:サブワークフローは、外部タスクの直接的な依存関係になることはできません。
受動的トリガー:公開後は、スケジュールインスタンスが自動生成されません。SUB_PROCESS ノードから呼び出された場合にのみ実行されます。> 詳細については、「SUB_PROCESS ノード」をご参照ください。
大規模ワークフローの分割
パフォーマンスおよび可読性を維持するため、100 ノードを超えるワークフローは分割することを推奨します。
ビジネスドメイン別に分割:トランザクション、ユーザー、製品など、さまざまなビジネス主題の処理パイプラインを独立したワークフローに分離します。
SUB_PROCESS ノードによる共通ロジックのカプセル化:再利用可能なステップ(データクレンジング、フォーマットなど)を参照可能なワークフローにラップします。
スケジューリング依存関係
スケジューリング依存関係は、孤立したノードを順序立てられたデータパイプラインに接続します。ノードは、スケジュールされた時刻が到来したうえで、すべての上流タスクが正常終了した場合にのみ実行されます。
完全なリファレンスについては、「スケジューリング依存関係」をご参照ください。
キャンバス上でノードを接続すると、DataWorks が自動的にそれらの間にスケジューリング依存関係を作成します。より複雑なクロスワークフローまたはクロスサイクルの依存関係については、以下の依存関係タイプを構成します。
| 依存関係タイプ | 使用シーン | 例 |
|---|---|---|
| ワークフローレベルの依存関係 | あるワークフロー全体が、別のタスク(ワークフローまたはスタンドアロンノード)の完了を待ってから開始する必要がある場合 | 販売ワークフローが、基盤データワークフローの完了を待機する |
| ノードレベルの依存関係 | ワークフロー内の特定ノードが、同一ワークフローに含まれない外部タスクを待機する必要がある場合 | レポートワークフロー内のサマリーノードが、財務システム内の特定ノードを待機する |
| クロスサイクル依存関係 | タスクの現在のサイクルインスタンスが、異なるサイクル(同一または異なるノード)のインスタンスに依存する場合 | 今日のインスタンスが昨日のインスタンスの成功を待機する — パーティションテーブルへの INSERT OVERWRITE や累積計算に有用 |
| クロスワークスペース依存関係 | タスクが、別の DataWorks ワークスペース内のタスクに依存する場合。ワークスペース名およびノードの出力名、名前、または ID でリンクされます。 | マーケティングワークスペース内のタスクが、会計ワークスペース内の主要データを参照する |
パラメーター設計
ワークスペースパラメーターは、DataWorks Professional Edition 以降でのみ利用可能です。
DataWorks は、範囲が狭い順から広い順に並べた 4 段階のパラメーター体系をサポートしています。ノード間で構成を重複させないために、適切な段階を選択してください。
| 段階 | タイプ | 範囲 | 使用シーン |
|---|---|---|---|
| 1(最も狭い) | ノードパラメーター | 単一ノード | SQL コードにランタイムで動的な日付を注入する場合。定数、組み込み変数、カスタム時間式をサポートします。「スケジューリングパラメーターのソースと式」をご参照ください。 |
| 2 | コンテキストパラメーター | ノード間 | 上流ノードの出力値を下流ノードに渡す場合。定数、変数、実行結果をサポートします。「ノードコンテキストパラメーターの構成および使用」をご参照ください。 |
| 3 | ワークフローパラメーター | ワークフロー内のすべてのノード | 数十のノードにまたがる共有ビジネス識別子(例:リージョンコード、テーブルプレフィックス)を管理する場合。サブワークフローは親ワークフローのパラメーターを参照できます。「ワークフローパラメーター」をご参照ください。 |
| 4(最も広い) | ワークスペースパラメーター | ワークスペース内のすべてのノード | 開発環境と本番環境で異なる環境固有の値(例:データベース名、リソースパス)を定義する場合。「ワークスペースパラメーターの使用」をご参照ください。 |
スケジューリングサイクル
定期実行ワークフロー と旧式の ビジネスプロセス の主な違いは、ワークフローのスケジューリングサイクルが単一の単位として構成されることです。一方、ビジネスプロセスは単なるタスク整理用のフォルダであり、全体としてスケジューリングすることはできません。
スケジューリングサイクルはワークフローレベルで設定されます。ワークフロー内のノードは、独自の独立したサイクルを持つことはできず、ワークフローのサイクルを継承し、ワークフローのスケジュール時刻からのオフセットとして「遅延実行時刻」のみを指定できます。
| ディメンション | ワークフローレベルの構成 | 内部ノードの動作 |
|---|---|---|
| 時間属性 | 絶対時刻(例:02:00) | 相対時刻(ワークフローのスケジュール時刻からの遅延) |
| サイクル属性 | 毎日、毎時、毎分、毎週、毎月、毎年 | ワークフローサイクルを継承;変更不可 |
| トリガー論理 | 物理時刻到達 + 上流タスク成功 | 物理時刻 + 遅延時刻 + 上流タスク成功 |
デバッグおよび実行
単一ノードのデバッグ
単一ノードのデバッグは、上流/下流の依存関係を一切トリガーせずに、SQL ステートメント、Python スクリプト、データ統合タスクなどのノード内部ロジックを検証します。
ノードの右側パネルで、「デバッグ構成」を構成します。
パラメーター 説明 コンピュートエンジン バインド済みのコンピュートエンジンを選択します。利用可能なエンジンがない場合は、ドロップダウンリストから「コンピュートエンジンの作成」を選択します。コンピュートエンジンとリソースグループが接続されていることを確認してください。「ネットワーク接続ソリューション」をご参照ください。 リソースグループ コンピュートエンジンのバインド時に接続性テストを通過したリソースグループを選択します。一部のノードでは、リソースグループにカスタムイメージを適用することで、実行環境を拡張できます。 データセット(任意) Shell および Python ノードは、データセットの使用をサポートしており、OSS 内の非構造化データにアクセスできます。 スクリプトパラメーター(任意) ノードコード内で ${parameter_name}を使用して変数を定義します。ここでは「パラメーター名」と「パラメーター値」を設定します。「スケジューリングパラメーターのソースと式」をご参照ください。関連付けロール(任意) Shell および Python ノードは、関連付けロールの構成をサポートしており、他のクラウドプロダクトのリソースにアクセスできます。 保存 をクリックし、続いて 実行 をクリックします。
ノードエディタの下部で実行ログおよび結果を確認します。
ワークフローのデバッグ
ワークフローのデバッグは、データ依存関係、パラメーターの受け渡し、およびパイプライン全体の実行順序を検証します。個々のノードのデバッグを終えた後、ワークフロー全体または部分的なパイプラインをデバッグします。
ワークフローの DAG キャンバスで、上部ツールバーの 実行 をクリックします。部分的なパイプラインを検証するには、ノードを右クリックし、「このノードまで実行」または「このノードから実行」を選択します。
ダイアログボックスで、このデバッグセッション用にすべてのノード変数(例:
${bizdate})に一時的な値を割り当てます。システムは、DAG で定義された依存関係に従って、上から下へ順次ノードを実行します。キャンバス上でノードのステータスをリアルタイムで監視し、任意のノードをクリックして実行ログを表示できます。
キャンバス左側の 戻る をクリックして、開発状態に戻ります。右側の実行履歴には、すべてのデバッグ実行記録が表示されます。
制御フローノード(ループ、ブランチ、マージ)は、ワークフロー内に配置し、上流および下流のノードとともに一緒にデバッグする必要があります。
管理および運用
ワークフローノードの管理
DataWorks では、スタンドアロンノードをワークフローにインポートしたり、ノードをワークフローから移動したり、ワークフロー間でノードを転送したりできます。これらは、ノードをゼロから再構築することなく実行可能です。
既存ノードをワークフローにインポート
対象のワークフローをダブルクリックして、キャンバスエディタを開きます。
左側のコンポーネントパネルで、「ノードのインポート」タブに切り替えます。
「ノードタイプ」、「パス」、または「ノード名」でフィルターをかけて、対象ノードを探します。
ノードをキャンバス上にドラッグします。
ノードをワークフローから移動
スタンドアロンノードへの変換:ディレクトリツリーまたはキャンバス上のノードを右クリックし、「ワークフローから移動」を選択し、対象パスを選んで確定します。
別のワークフローへの移動:ノードを右クリックし、「別のワークフローに移動」を選択し、対象ワークフローを選んで確定します。また、ノードを直接対象ワークフローにドラッグすることもできます。
ノードを移動する前に、既存のパイプラインへの影響を評価し、新しい場所で依存関係を再構成してください。ノードを移動すると、元のワークフローにおける上流および下流の依存関係が切断され、ノードに設定されたワークフローパラメーターは無効になります。
ワークフローのクローン作成
ワークフローのクローン作成は、すべての内部ノード、コード、依存関係を含む完全かつ独立したコピーを作成します。「ワークスペースディレクトリ」で対象のワークフローを右クリックし、「クローン」を選択します。
クローン作成したワークフローをコミットおよび公開する前に、以下の点を確認して、データ競合およびパイプラインの問題を防止してください。
出力テーブルおよび対象データソース:クローン作成したワークフローは、元のワークフローと同じ対象テーブルに書き込みます。複数のタスクが同一テーブルに書き込まないように、コード内のテーブル名を更新します(例:
ods_user_tableからdev_ods_user_tableへ)。上流依存関係:クローン作成したワークフローは、デフォルトで元の上流タスクに依存したままです。これが意図した動作かどうかを確認してください。
パラメーター構成:日付パーティション(例:
${bizdate})や入出力パスを含むカスタムパラメーターを確認し、新しい環境で正しく設定されていることを確認します。
ワークフロー内の個々のノードをクローン作成することもできますが、異なるワークフロー間でノードをコピーすることはできません。
バージョン管理
内部ノードを個別に公開しても、親ワークフローの新しいバージョンが作成されます。
バージョン管理は、ワークフローに対するすべての変更を自動的に記録します。「ワークフローキャンバス」右側の「バージョン」パネルから、任意の以前のバージョンを表示、比較、復元できます。
バージョンパネルには、以下の 2 種類の記録が表示されます。
開発記録:「保存」をクリックするたびに作成されます。これは進行中のスナップショットであり、本番環境には影響しません。
公開記録:ワークフローが本番環境に正常に公開されたときに作成されます。これは、本番スケジューリングシステムが実行するものです。
代表的なユースケース
| シナリオ | 操作 |
|---|---|
| コード変更後に本番タスクが失敗した | 最後の安定した 公開記録 に復元するには「復元」を使用し、その後再公開します |
| いつ・誰がロジックを変更したかをトレースする必要がある | バージョン一覧および「比較」機能を使用して、すべてのコード変更を表示します |
| 保存されていないコードを誤って削除した | 最新の 開発記録 |
復元前の注意事項
復元は現在の開発領域を上書きします:キャンバス上のすべてのコードおよび構成が、履歴バージョンで置き換えられます。未保存の変更がある場合は、復元前にローカルでバックアップしてください。
復元後に再公開する必要があります:復元は開発状態のみを復元します。ロールバックを本番環境で有効にするには、ワークフローを手動で公開してください。
公開および運用
公開:ワークフローの開発が完了したら、本番環境に公開します。開発環境のノードは、本番環境に対応する定期実行タスクを生成します。「ノードまたはワークフローの公開」をご参照ください。
運用:ワークフローは、スケジューリング構成に基づいて定期的に実行されます。「オペレーションセンター」に移動して、スケジューリングステータスを監視およびタスクを管理します。「定期実行タスクの基本的な運用タスク」および「Data Backfill インスタンスの運用タスク」をご参照ください。
ワークフローインスタンスのステータス
ワークフローの全体的なステータスは、その内部ノードの最終ステータスを反映します。システムがワークフローのステータスをどのように決定するかを理解することで、問題の診断を迅速化できます。
| ステータス | トリガー条件 | 確認すべき項目 |
|---|---|---|
| 実行中 | スケジュール時刻到達 + 上流タスク成功 | — |
| 成功 | すべての重大ノードが正常終了 | — |
| 失敗 | 単一の重大ノードが失敗 | オペレーションセンターで失敗したノードの実行ログを確認 |
| 失敗(フリーズノード) | 内部ノードがフリーズまたは一時停止されており、それが上流依存関係である場合 | ノードのフリーズ解除または依存関係の再構成 |
| 成功(マージノード例外) | マージノードは、一部の上流ブランチが失敗した場合でも成功と評価される | マージノードの上流チェックを確認して、サイレント失敗を防ぎます |
特殊なシナリオ:
ワークフロータスクの Data Backfill インスタンスをフリーズすると、ワークフローインスタンスは 成功 と設定されます。
Data Backfill シナリオにおいて、システムがタスクを実行できないと判断した場合、ワークフローは 失敗 と設定されます。
実際の障害イベント発生とインスタンスステータス更新の間には、遅延があります。
制限事項
| 項目 | 制限 |
|---|---|
| ワークフローあたりの最大ノード数 | 400 ノード(キャンバスパフォーマンスおよび保守性を最適化するには、100 ノード未満を推奨。大規模ワークフローは小さな単位に分割してください) |
| 並列インスタンス | 定期実行ワークフローは、ワークフローレベルでの最大並列インスタンス数制限をサポートしていません。この制限は、個々のノードレベルで「スケジューリング構成」を介して設定します。「ノードスケジューリング構成」をご参照ください。 |
| サブワークフローの依存関係 | 「参照可能」が有効化されたサブワークフローおよびその内部ノードは、外部タスクに依存できず、外部タスクがそれを直接依存することもできません。この制約に違反すると、公開エラーが発生します。 |
| サブワークフローのスケジューリング | 公開後、サブワークフローはスケジュールインスタンスを自動生成しません。SUB_PROCESS ノードから呼び出された場合にのみ実行されます。 |
よくある質問
ワークフローとビジネスプロセスの違いは何ですか?
ワークフローはスケジュール可能な単位であり、独自のスケジューリングサイクルを持ち、定期実行タスクインスタンスを生成します。一方、ビジネスプロセスは単なるノード整理用のフォルダであり、全体としてスケジューリングすることはできません。
デバッグモードではタスクが正常に実行されますが、スケジュール実行で失敗します。原因は何ですか?
これはほぼ常に環境の不一致が原因です。以下の点を確認してください。
リソースグループ:デバッグ実行では個人用リソースグループが使用されることが多く、スケジュール実行では本番リソースグループが使用されます。本番リソースグループがアクティブであり、十分な容量があり、適切な権限を持っていることを確認してください。
権限:本番スケジュール実行に使用されるアカウントが、特定のテーブル、関数、またはリソースへのアクセス権限を持っていない可能性があります。
依存関係:本番環境では、開発環境とは異なる上流依存関係が存在するか、上流の出力が本番環境に存在しない可能性があります。
インスタンスが「待機中」のまま停止しています。何を確認すべきですか?
インスタンスは、スケジュール時刻が到来し、リソースが利用可能になり、すべての上流依存関係が成功した場合にのみ実行されます。以下の順序で確認してください。
上流依存関係が完了していない:オペレーションセンターで、インスタンスの「依存関係」ビューを開き、まだ成功していない上流タスクを確認します。
リソースキューが満杯:コンピュートエンジンのリソースグループキューが上限に達しています。タスクはリソースの利用を待機しています。
ワークフローまたはノードがフリーズしている:ワークフローまたは任意の上流ノードが手動でフリーズまたは一時停止されていないか確認します。
インスタンスがまだ生成されていない:ワークフローのスケジュール時刻が経過したか確認します。新しく公開されたワークフローは、次のスケジューリングサイクルで最初のインスタンスを生成します。「インスタンス生成方法:公開後の即時生成」をご参照ください。
一部のノードが成功しているにもかかわらず、ワークフロー全体が「失敗」と表示されます。なぜですか?
クリティカルパスの失敗:下流依存関係を持つノードのいずれかが失敗した場合、他の並列ブランチが成功していても、ワークフロー全体が 失敗 とマークされます。
フリーズノード:フリーズされた内部ノードが、ワークフロー全体の失敗を引き起こします。