AWS Glue ワークフローがトリガーされないのはなぜですか?

最終更新日: 2021 年 8 月 2 日

AWS Glue ワークフローを作成しましたが、そのワークフローが開始しません。

-または-

AWS Glue ワークフローの構成ジョブ/クローラーの一部が実行されません。

簡単な説明

AWS Glue ワークフローまたはそのコンポーネントがトリガーされない場合は、以下を確認します。

  • スケジュールされたトリガーがソーストリガーとして使用されている場合は、そのトリガーがアクティブになっていることを確認します。スケジュールが UTC 表記となっていること、および cron 式にすべての必須フィールドが含まれていることを確認します。
  • 外部コンポーネントがソーストリガーをトリガーしている場合は、外部コンポーネントが誤動作していないことを確認します。
  • コンポーネントのトリガーに使用される述語条件が、ワークフローの外部にあるエージェントによって満たされていないことを確認します。
  • コンポーネントが依存関係チェーンの一部である場合は、単一のソーストリガーによって、アップストリームのジョブ/クローラーが同じワークフローの一部として開始されていることを確認します。

解決方法

時間ベースのトリガーで開始しないワークフロー

ワークフローのソーストリガーがスケジュールされている場合は、次の点を確認します。

  • トリガーが CREATED 状態ではなく、ACTIVATED 状態であることを確認します。トリガーが ACTIVATED 状態でない場合は、手動でトリガーをアクティブ化します。
  • スケジュールされたトリガーのスケジュールで使用される cron 式が、協定世界時 (UTC) であることを確認します。cron 式のフィールドが、ローカルタイムゾーンから UTC への変換に対応していることを確認します。また、cron 式にすべての必須フィールドが正しい形式で含まれているかどうかを確認します。詳細については、Time-based schedules for jobs and crawlers を参照してください。

オンデマンドトリガーで開始しないワークフロー

ソーストリガーがオンデマンドで、StartWorkflowRun API コールを使用してトリガーするアップストリームエンティティがある場合は、呼び出し元のエンティティが正しく機能することを確認します。

条件付きトリガーで開始しないワークフロー

トリガーの述語条件が、ワークフローの外部にあるエージェントによって満たされていないことを確認します。外部エージェントが条件を満たしている場合、トリガーは起動されません。条件付きトリガーは、監視対象のイベントがトリガーによって開始された場合にのみ開始されます。

例えば、次の条件が満たされているとします。

  • トリガー TEST_TR によってトリガーされるジョブ JOB_MAIN を持つワークフローがある。
  • トリガー TEST_TR が現在のワークフローの一部ではない別のジョブ JOB_DEP の完了に依存している。

この場合、JOB_DEP が正常に完了し、トリガー TEST_TR の述語ロジックが満たされても、ジョブ JOB_MAIN は起動されません。これは、述語条件が、同じワークフローの一部ではないエージェントによって満たされるためです。

依存関係チェーンの一部であるコンポーネントジョブ/クローラーのために開始されないワークフロー

構成ジョブ/クローラーが、トリガーによって開始されるアップストリームジョブ/クローラーの完了に依存しているかどうかを確認します。依存ジョブ/クローラーは、完了したジョブ/クローラーがトリガーによって開始された場合にのみ開始されます。依存関係チェーン内のすべてのジョブ/クローラーが、単一のスケジュールまたはオンデマンドトリガーの子孫であることを確認します。

例えば、次の条件が満たされているとします。

  • ワークフローがジョブ JOB_1 を開始するトリガー TEST_TR1 から開始する。
  • 別のトリガー TEST_TR2 がジョブ JOB_2 を開始するために JOB_1 の完了に依存している。

この場合、TEST_TR2 の述語条件が満たされると、TEST_TR2JOB_2 を起動します。

ただし、JOB_1 がオンデマンドで実行され、TEST_TR1 によって開始されない場合、TEST_TR2 の述語条件が満たされていても、TEST_TR2JOB_2 を開始しません。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?