ワークフローの作成と実行 - AWS Glue

ワークフローの作成と実行

AWS Glue コンソールを使用してワークフローを作成、可視化、および実行できます。AWS Glue API を使用してワークフローを管理する方法の詳細については、「 ワークフロー」を参照してください。

コンソールを使用したワークフローの作成と構築

ワークフローは、ジョブ、クローラ、トリガーで構成されます。ワークフローを作成する前に、ワークフローに含めるジョブとクローラを作成します。ワークフローのクローラとしては、オンデマンドで実行するクローラを指定するのが最適です。トリガーは、ワークフローの構築中に新規作成できます。または、既存のトリガーをワークフロー内に 複製することもできます。トリガーを複製すると、そのトリガーに関連付けられているすべてのカタログオブジェクト (そのトリガーを発生させるジョブやクローラ、またはそのトリガーによって開始されるジョブやクローラ) がワークフローに追加されます。

ワークフローを構築するには、ワークフローのグラフにトリガーを追加し、トリガーごとに監視対象のイベントやアクションを定義します。まず、開始トリガーとしてオンデマンドトリガーまたはスケジュールトリガーを追加し、次にイベント (条件付き) トリガーを追加してグラフを完成します。

ステップ 1: ワークフローを作成する

  1. AWS マネジメントコンソール にサインインし、AWS Glue コンソール (https://console.aws.amazon.com/glue/) を開きます。

  2. ナビゲーションペインの [ETL] で、[ワークフロー] を選択します。

  3. [ワークフロー] を選択し、[Add a new ETL workflow (新しい ETL ワークフローの追加)] フォームに入力します。

    オプションとして追加したデフォルトの実行プロパティは、ワークフローのすべてのジョブに対する引数として使用できます。詳細については、「ワークフローの実行プロパティの取得と設定」を参照してください。

  4. [Add workflow (ワークフローの追加)] を選択します。

    新しいワークフローが [ワークフロー] ページのリストに表示されます。

ステップ 2: 開始トリガーを追加する

  1. [ワークフロー] ページで、新しいワークフローを選択します。下部のタブで、[Graph (グラフ)] を選択します。

  2. [トリガーを追加] を選択し、[トリガーを追加] ダイアログボックスで、次のいずれかの操作を行います。

    • [Add new (新規追加)] を選択して [トリガーを追加] フォームに入力し、[トリガータイプ] として [スケジュール] または [オンデマンド] を選択します。次に、[追加] を選択します。

      トリガーがグラフ上に表示されます。プレースホルダーノード ([Add node (ノードの追加)] というラベルが付いたノード) も一緒に表示されます。この時点では、トリガーは未保存です。

      
                                    2 つの長方形のノード (トリガーとプレースホルダーノード) を示すグラフ。トリガーノードからプレースホルダーノードへ向かう矢印も表示されています。
    • [Clone existing (既存の複製)] を選択し、複製するトリガーを選択します。次に、[追加] を選択します。

      トリガーがグラフに表示されます。トリガーで監視するジョブやクローラおよびトリガーで開始するジョブやクローラも表示されます。

      トリガーを間違えて選択した場合は、そのトリガーをグラフで選択し、[削除] を選択します。

  3. 新しいトリガーを追加した場合は、以下のステップを実行します。

    1. 次のいずれかの操作を行います。

      • プレースホルダーノード ([Add node (ノードの追加]) を選択します。

      • 開始トリガーが選択されていることを確認し、 [アクション] メニューの [Add jobs/crawlers to trigger (トリガーにジョブ/クローラを追加)] を選択します。

    2. Add job(s) and crawler(s) to trigger (トリガーにジョブおよびクローラを追加)] ダイアログボックスで、1 つ以上のジョブまたはクローラを選択し、 [追加] を選択します。

      トリガーが保存されます。選択したジョブまたはクローラが、トリガーからのコネクタと共にグラフに表示されます。

      ジョブやクローラを間違って追加した場合は、トリガーまたはコネクタを選択して、[削除] を選択できます。

ステップ 3: (オプション) さらにトリガーを追加する

さらにトリガーを追加して、ワークフローの構築を続けます。グラフのキャンバスを拡大または縮小するには、グラフの右側にあるアイコンを使用します。追加するトリガーごとに、以下の手順を実行します。

  1. 次のいずれかの操作を行います。

    • 既存のトリガーを複製するには、グラフで選択されているノードがないことを確認し、 [アクション] メニューの [トリガーを追加] を選択します。

    • グラフ上の特定のジョブまたはクローラを監視する新しいトリガーを追加するには、そのジョブまたはクローラのノードを選択し、[トリガーを追加] プレースホルダーノードを選択します。

      後のステップで、このトリガーで監視するジョブやクローラをさらに追加できます。

  2. [トリガーを追加] ダイアログボックスで、次のいずれかの操作を行います。

    • [Add new (新規追加)] を選択し、[トリガーを追加] フォームに入力します。次に、[追加] を選択します。

      トリガーがグラフに表示されます。後のステップでトリガーを完了します。

    • [Clone existing (既存の複製)] を選択し、複製するトリガーを選択します。次に、[追加] を選択します。

      トリガーがグラフに表示されます。トリガーで監視するジョブやクローラおよびトリガーで開始するジョブやクローラも表示されます。

      トリガーを間違って選択した場合は、そのトリガーをグラフで選択し、[削除] を選択します。

  3. 新しいトリガーを追加した場合は、以下のステップを実行します。

    1. 新しいトリガーを選択します。

      次のグラフが表示され、プレースホルダーノードがイベント用 (1) とアクション用 (2) に表示されます。

      
                                    複数のノードを示すグラフ。そのうちの 2 つは、数字の 1 と 2 の吹き出しが付いたプレースホルダーノードです。
    2. (トリガーでイベントを既に監視しており、監視対象のジョブやクローラをを追加する場合のオプション) 監視対象イベントのプレースホルダーノードを選択し、[Add job(s) and crawler(s) to watch (監視するジョブやクローラの追加)] ダイアログボックスで 1 つ以上のジョブまたはクローラを選択します。監視対象のイベント (成功、失敗など) を選択して、 [追加] を選択します。

    3. トリガーが選択されていることを確認し、アクション用のプレースホルダーノードを選択します。

    4. [Add job(s) and crawler(s) to watch (監視対象のジョブやクローラの追加)] ダイアログボックスで 1 つ以上のジョブまたはクローラを選択し、[追加] を選択します。

      選択したジョブやクローラがグラフに表示されます。トリガーからのコネクタも表示されます。

ワークフローの実行

ワークフローの開始トリガーがオンデマンドトリガーである場合は、ワークフローを AWS Glue コンソール、AWS Command Line Interface (AWS CLI)、または AWS Glue API から実行できます。

ワークフローを実行するには (コンソール)

  1. AWS Glue コンソール (https://console.aws.amazon.com/glue/) を開きます。

  2. ナビゲーションペインの [ETL] で、[ワークフロー] を選択します。

  3. ワークフローを選択します。[アクション] メニューの [実行] を選択します。

ワークフローを実行するには (AWS CLI)

  • 次のコマンドを入力します。<workflow-name> は、実行するワークフローに置き換えます。

    aws glue start-workflow-run --name <workflow-name>

    ワークフローが正常に開始されると、コマンドから実行 ID が返されます。

ワークフロー実行の停止

ワークフロー実行を停止するには、AWS Glue コンソール、AWS Command Line Interface (AWS CLI)、または AWS Glue API を使用できます。ワークフロー実行を停止すると、すべての実行中のジョブとクローラーは即座に終了され、まだ開始されていないジョブとクローラーは開始されることがありません。すべての実行中のジョブとクローラーが停止するまでに最大 1 分かかる場合があります。ワークフロー実行のステータスは [実行中] から [停止中] に変わり、ワークフロー実行が完全に停止すると、ステータスは [停止済み] になります。

ワークフロー実行の停止後に実行グラフを表示し、完了したジョブとクローラー、および開始しなかったジョブとクローラーを確認できます。これにより、データの整合性を確保するためのステップを実行する必要があるかどうかを判断できます。ワークフロー実行を停止すると、自動ロールバックオペレーションは実行されません。

ワークフロー実行を停止するには (コンソール)

  1. AWS Glue コンソール (https://console.aws.amazon.com/glue/) を開きます。

  2. ナビゲーションペインの [ETL] で、[ワークフロー] を選択します。

  3. 実行中のワークフローを選択し、[履歴] タブを選択します。

  4. ワークフロー実行を選択し、[実行の停止] を選択します。

    実行ステータスが [停止中] に変わります。

  5. (オプション) ワークフロー実行を選択し、[実行の詳細を表示する] を選択して、実行グラフを確認します。

ワークフロー実行を停止するには (AWS CLI)

  • 次のコマンドを入力します。<workflow-name> はワークフローの名前に置き換え、<run-id> は停止するワークフロー実行の実行 ID に置き換えます。

    aws glue stop-workflow-run --name <workflow-name> --run-id <run-id>

    次に stop-workflow-run コマンドの例を示します。

    aws glue stop-workflow-run --name my-workflow --run-id wr_137b88917411d128081069901e4a80595d97f719282094b7f271d09576770354