ワークフローを管理する

この機能に関するサポートをリクエストする場合、またはフィードバックを提供する場合は、bigquery-workflows-preview-feedback@google.com までメールをお送りください。

このドキュメントでは、ワークフローのスケジュール設定と削除など、ワークフローの管理方法について説明します。

ワークフローは Dataform を使用します。

始める前に

始める前に、ワークフローを作成します。

必要なロール

ワークフローの管理に必要な権限を取得するため、次の IAM ロールを付与するように管理者に依頼してください。

  • ワークフローを削除する: ワークフローに対する Dataform 管理者roles/dataform.Admin
  • ワークフローのスケジュールを作成、編集、実行、削除する: ワークフローに対する Dataform 管理者roles/dataform.Admin
  • ワークフローを表示して実行する: プロジェクトに対する Dataform 閲覧者roles/dataform.Viewer
  • ワークフローのスケジュールを表示する: プロジェクトに対する Dataform 編集者roles/dataform.Editor

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Dataform IAM の詳細については、IAM でのアクセス制御をご覧ください。

ワークフローをスケジュールする

指定した時間と頻度で自動的に実行されるようにワークフローをスケジュールできます。詳細については、ワークフローのスケジュール設定についてをご覧ください。

ワークフローのスケジュール設定を有効にする

ワークフローをスケジュールするには、ワークフローのスケジュールに使用するサービス アカウントに次のロールを付与する必要があります。

サービス アカウント ユーザー(roles/iam.serviceAccountUser
サービス アカウントに単一のロールを付与するの手順に沿って、サービス アカウントをプリンシパルとして自身に追加します。つまり、サービス アカウントをプリンシパルとして同じサービス アカウントに追加します。次に、このプリンシパルにサービス アカウント ユーザーロールを付与します。

ワークフローに SQL クエリが含まれている場合は、ワークフローのスケジュールに使用するサービス アカウントに次のロールを付与する必要があります。

BigQuery ジョブユーザー(roles/bigquery.jobUser
プロジェクトに単一のロールを付与するの手順に沿って、ワークフローがデータを読み取るプロジェクトのサービス アカウントに BigQuery ジョブのユーザーロールを付与します。
BigQuery データ閲覧者(roles/bigquery.dataViewer
プロジェクトに単一のロールを付与するの手順に沿って、ワークフローがデータを読み取るプロジェクトのサービス アカウントに BigQuery データ閲覧者のロールを付与します。
BigQuery データ編集者(roles/bigquery.dataEditor
プロジェクトに単一のロールを付与するの手順に沿って、ワークフローがデータを書き込むプロジェクトのサービス アカウントに BigQuery データ編集者のロールを付与します。

ワークフローにノートブックが含まれている場合は、ワークフローのスケジュールに使用するサービス アカウントに次のロールを付与する必要があります。

ノートブック エグゼキュータ ユーザー(roles/aiplatform.notebookExecutorUser
プロジェクトに単一のロールを付与するの手順に沿って、選択したプロジェクトのサービス アカウントにノートブック エグゼキュータ ユーザーロールを付与します。
ストレージ管理者(roles/storage.admin
バケットレベルのポリシーにプリンシパルを追加するの手順に沿って、サービス アカウントをプリンシパルとして、スケジュールしたワークフローで実行されたノートブックの出力を保存するために使用する Cloud Storage バケットに追加し、このプリンシパルにストレージ管理者のロールを付与します。

また、デフォルトの Dataform サービス アカウントに次のロールを付与する必要があります。

サービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator
サービス アカウントにトークン作成アクセス権を付与するの手順に沿って、デフォルトの Dataform サービス アカウントをプリンシパルとしてサービス アカウントに追加し、このプリンシパルにサービス アカウント トークン作成者のロールを付与します。

Dataform のサービス アカウントの詳細については、Dataform のサービス アカウントについてをご覧ください。

ワークフローのスケジュールを作成する

ワークフローをスケジュールする手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [スケジュール] をクリックします。

  4. [ワークフローのスケジュール設定] ペインの [スケジュール名] フィールドに、スケジュールの名前を入力します。

  5. [サービス アカウント] フィールドで、サービス アカウントを選択します。

  6. ワークフローにノートブックが含まれている場合は、[Cloud Storage バケット] フィールドで [参照] をクリックし、ワークフローのノートブックの出力を保存する Cloud Storage バケットを選択または作成します。

    選択したサービス アカウントには、選択したバケットに対するストレージ管理者の IAM ロールを付与する必要があります。詳細については、ワークフローのスケジュール設定を有効にするをご覧ください。

  7. [スケジュールの頻度] セクションで、次の操作を行います。

    1. [繰り返しの頻度] プルダウンで、ワークフローの実行スケジュールの頻度を選択します。
    2. [時刻] フィールドに、ワークフローの実行スケジュールを設定する時刻を入力します。
    3. [タイムゾーン] プルダウンで、スケジュールのタイムゾーンを選択します。
  8. [スケジュールを作成] をクリックします。

スケジュールを作成すると、現在のバージョンのワークフローが自動的にデプロイされます。新しいバージョンのワークフローでスケジュールを更新するには、ワークフローをデプロイします。

ワークフローの最新のデプロイ バージョンが、選択した時間と頻度で実行されます。

ワークフローをデプロイする

ワークフローをデプロイすると、ワークフローの現在のバージョンでスケジュールが更新されます。スケジュールは、デプロイされた最新バージョンのワークフローを実行します。

ワークフローをデプロイする手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [デプロイ] をクリックします。

対応するスケジュールが、ワークフローの現在のバージョンで更新されます。デプロイされた最新バージョンのワークフローがスケジュールされた時間に実行されます。

スケジュールを無効にする

スケジュールを削除せずに、選択したワークフローのスケジュールされた実行を一時停止するには、スケジュールを無効にします。

選択したワークフローのスケジュールを無効にするには、次の操作を行います。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [スケジュールを表示] をクリックします。

  4. [スケジュールの詳細] テーブルの [スケジュールの状態] 行で、[スケジュールが有効です] 切り替えボタンをクリックします。

スケジュールを有効にする

無効になっているワークフローのスケジュールの実行を再開する手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [スケジュールを表示] をクリックします。

  4. [スケジュールの詳細] テーブルの [スケジュールの状態] 行で、[スケジュールが無効です] 切り替えボタンをクリックします。

デプロイされたワークフローを手動で実行する

選択したスケジュールにデプロイされたワークフローを手動で実行すると、BigQuery はスケジュールとは関係なく、デプロイされたワークフローを 1 回実行します。

デプロイされたワークフローを手動で実行する手順は次のとおりです。

  1. Google Cloud コンソールの [オーケストレーション] ページに移動します。

    [オーケストレーション] ページに移動

  2. 選択したワークフロー スケジュールの名前をクリックします。

  3. [スケジュールの詳細] ページで [実行] をクリックします。

すべてのワークフロー スケジュールを表示する

Google Cloud プロジェクト内のすべてのワークフローを表示する手順は次のとおりです。

  1. Google Cloud コンソールの [オーケストレーション] ページに移動します。

    [オーケストレーション] ページに移動

  2. 省略可: ワークフローのスケジュールの詳細を含む追加の列を表示するには、 [列表示オプション] をクリックし、列を選択して [OK] をクリックします。

ワークフローのスケジュールの詳細を表示する

選択したワークフロー スケジュールの詳細を表示する手順は次のとおりです。

[エクスプローラ] ペイン

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [スケジュールを表示] をクリックします。

[オーケストレーション] ページ

  1. Google Cloud コンソールの [オーケストレーション] ページに移動します。

    [オーケストレーション] ページに移動

  2. 選択したワークフロー スケジュールの名前をクリックします。

スケジュールされた過去の実行を表示する

選択したワークフロー スケジュールの過去の実行を表示する手順は次のとおりです。

[エクスプローラ] ペイン

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [実行] をクリックします。

  4. 省略可: 過去の実行のリストを更新するには、[更新] をクリックします。

[オーケストレーション] ページ

  1. Google Cloud コンソールの [オーケストレーション] ページに移動します。

[オーケストレーション] ページに移動

  1. 選択したワークフローの名前をクリックします。

  2. [スケジュールの詳細] ページの [過去の実行] セクションで、過去の実行を確認します。

  3. 省略可: 過去の実行のリストを更新するには、[更新] をクリックします。

ワークフローのスケジュールを編集する

ワークフローを編集する手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [スケジュールを表示] をクリックし、[編集] をクリックします。

  4. [ワークフローのスケジュール設定] ダイアログでスケジュールを編集し、[スケジュールを更新] をクリックします。

ワークフローのスケジュールを削除する

ワークフローのスケジュールを完全に削除する手順は次のとおりです。

  1. Google Cloud コンソールの [オーケストレーション] ページに移動します。

    [オーケストレーション] ページに移動

  2. 次のいずれかを行います。

    • 選択したワークフローのスケジュールの名前をクリックし、[スケジュールの詳細] ページで [削除] をクリックします。

    • 選択したワークフロー スケジュールを含む行で、[アクション] 列の [アクションを表示] をクリックし、[削除] をクリックします。

  3. 表示されるダイアログで [削除] をクリックします。

過去の手動実行を表示する

選択したワークフローの過去の手動実行を表示する手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [実行] をクリックします。

  4. 省略可: 過去の実行のリストを更新するには、[更新] をクリックします。

失敗したワークフロー実行に対するアラートを構成する

各ワークフローには、対応する Dataform リポジトリ ID があります。BigQuery ワークフローの実行は、対応する Dataform リポジトリ ID を使用して Cloud Logging にロギングされます。Cloud Monitoring を使用して BigQuery ワークフロー実行の Cloud Logging ログの傾向を確認し、記述した条件の発生時に通知できます。

BigQuery ワークフローの実行が失敗したときにアラートを受け取るには、対応する Dataform リポジトリ ID のログベースのアラート ポリシーを作成します。手順については、失敗したワークフロー呼び出しに対するアラートを構成するをご覧ください。

ワークフローの Dataform リポジトリ ID を確認する手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開き、ワークフローを選択します。

  3. [設定] をクリックします。

    ワークフローの Dataform リポジトリ ID は、[設定] タブの下部に表示されます。

ワークフローを削除する

ワークフローを完全に削除する手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ワークフロー] フォルダを開きます。削除するワークフローを見つけます。

  3. ワークフローの横にある [アクションを表示] をクリックし、[削除] をクリックします。

  4. [削除] をクリックします。

次のステップ