Cloud Scheduler トリガー

Cloud Scheduler トリガーを使用すると、複数のリージョン全体にわたって特定の期間または定期的な間隔で統合の実行をスケジュールできます。

Cloud Scheduler トリガーは、Cloud Scheduler サービスを活用して、Apigee Integration 内でフルマネージドのエンタープライズ クラスの cron ジョブ スケジューラを提供します。このトリガーを使用すると、統合内で作成されたすべての cron ジョブを、Apigee Integration UI と Cloud Scheduler ダッシュボードの両方で管理できます。さらに、Cloud Scheduler トリガーを使用して、クロスリージョン cron ジョブをデプロイし、統合の実行をスケジュールすることもできます。

たとえば、us-central1 で統合をプロビジョニングしている場合、Cloud Scheduler トリガーを使用して asia-east1(または Cloud Scheduler でサポートされている Google Cloud サービスの任意のリージョン)で cron ジョブをデプロイして、us-central1 で統合のエンドポイントを呼び出すことができます。

始める前に

Cloud Scheduler トリガーを構成する前に、Google Cloud プロジェクトで次のタスクを行う必要があります。

  1. Cloud Scheduler APIcloudscheduler.googleapis.com)を有効にします。

    Cloud Scheduler API の有効にする

  2. Apigee Integration 起動元ロールが割り当てられた Google サービス アカウントがあることを確認します。サービス アカウントがない場合は、新しいサービス アカウントを作成し、Apigee Integration 起動元のロールを割り当てる必要があります。

    サービス アカウントの作成と管理については、サービス アカウントの作成と管理をご覧ください。

    Apigee Integration の事前定義ロールについては、IAM 事前定義ロールをご覧ください。

Cloud Scheduler トリガーを追加する

統合に Cloud Scheduler トリガーを追加する手順は次のとおりです。

  1. Apigee UI で、Apigee 組織を選択します。
  2. [Develop] > [Integrations] の順にクリックします。
  3. 既存のインテグレーションを選択するか、[Create Integration] をクリックして新しいインテグレーションを作成します。

    新しいインテグレーションを作成する場合:

    1. [Create Integration] ダイアログで名前と説明を入力します。
    2. サポートされているリージョンのリストから、インテグレーションのリージョンを選択します。
    3. [Create] をクリックします。

    統合デザイナーで統合が開きます。

  4. 統合デザイナーのナビゲーション バーで、[+ +Add a task/trigger] > [Triggers] の順にクリックして、使用可能なタスクのリストを表示します。
  5. 統合エディタで、[Cloud Scheduler trigger] 要素をクリックして配置します。

Cloud Scheduler トリガーを構成する

Cloud Scheduler トリガーを構成するには、次の操作を行います。

  1. 統合エディタで [Cloud Scheduler trigger] 要素をクリックして、トリガー構成ペインを開きます。

    次のいずれかのオプションを使用して、Cloud Scheduler トリガーのスケジュールを指定します。

    • Basic: ユーザー インターフェースを使用して cron ジョブ スケジュールを構成します。
    • Advanced: unix-cron 式を使用して、cron ジョブ スケジュールを構成します。
  2. (基本オプション)[Basic] タブを選択し、表示されているフィールドで次の操作を行います。
    1. Times: 統合を実行する時間間隔を選択します。
      • Run at a specific time: 特定の時間に統合を実行するには、このオプションを選択します。
      • Repeat by the hour: 1 時間ごとに統合を繰り返し実行するには、このオプションを選択します。
      • Repeat by the minute: 指定した分数に基づいて統合を繰り返し実行するには、このオプションを選択します。
    2. Days: 統合を実行する曜日を選択します。統合は、毎日、特定の曜日、または月の特定の日に実行することもできます。
    3. Months: 統合を実行する必要がある月を選択します。統合は毎月、または特定の月に実施できます。
  3. (詳細オプション)[Advanced] タブを選択し、cron 式を使用して cron ジョブのスケジュールを指定します。

    cron 式には、次の順序で 5 つの値を指定する必要があります。

    1. 分(0~59)
    2. 時間(0~23)
    3. 日(1~31)
    4. 月。次のいずれかの値:
      • 数字(0~12)
      • 3 文字の月の略語(例: Jan、Feb、Mar)
    5. 曜日。次のいずれかの値:
      • 日曜日を 0 とする 0~6 の数値
      • 曜日の 3 文字の省略形(例: Mon、Tue、Wed)

    たとえば、毎月 1 日に統合を実行するには、* * 1 * * という cron 式を使用します。

    詳細については、cron ジョブ スケジュールの構成をご覧ください。

  4. リージョン: Cloud Scheduler ジョブをデプロイするリージョンを選択します。
  5. サービス アカウントのメールアドレス: 作成した Google サービス アカウントのメールアドレスを入力します。

トリガー出力

統合バージョンで構成され公開された Cloud Scheduler トリガーごとに、Apigee Integration は Google Cloud プロジェクトに新しい Cloud Scheduler ジョブを作成します。

ジョブの重複エラーを避けるため、Cloud Scheduler のジョブは、次の命名規則を使用して作成されます。

    INTEGRATION_NAME__VINTEGRATION_VERSION__CLOUD_SCHEDULER_TRIGGER_NUMBER
    

: DemoIntegration__V1__1

トリガーログ

Cloud Scheduler トリガーは、各統合実行の開始時と終了時にログを生成します。Cloud Logging ログ エクスプローラ ページで Cloud Scheduler トリガーログを表示できます。

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

    Cloud Scheduler に移動

  2. Cloud Scheduler ジョブを見つけ、[ログ] 列の [表示] をクリックします。

    Cloud Logging ログ エクスプローラが開き、Cloud Scheduler トリガーによって生成されたログが表示されます。

Cloud Scheduler トリガーを編集する

Apigee Integration

Apigee Integration から Cloud Scheduler トリガーを編集するには、次の操作を行います。

  1. Apigee UI で、Apigee 組織を選択します。
  2. [Develop] > [Integrations] の順にクリックします。
  3. 編集する統合を選択します。
  4. 統合エディタ[Version] プルダウンをクリックし、編集する Cloud Scheduler トリガーを含む統合バージョンを選択します。
  5. 選択した統合バージョンが公開中(アクティブな状態)の場合は、公開を停止して編集を有効にします。
  6. 統合エディタで [Cloud Scheduler trigger] 要素をクリックして、トリガー構成ペインを開きます。
  7. 必要に応じて、Cloud Scheduler ジョブの構成を変更します。

Cloud Scheduler

Cloud Scheduler から Cloud Scheduler ジョブの構成を変更することで、Cloud Scheduler トリガーを編集できます。

  1. Google Cloud コンソールで、[Cloud Scheduler] に移動します。

    Cloud Scheduler に移動

  2. 編集する Cloud Scheduler ジョブを選択します。
  3. [編集] をクリックします。
  4. 必要に応じて、Cloud Scheduler ジョブの構成を変更します。

Cloud Scheduler ジョブの一時停止、再開、コピー

Apigee Integration では、Cloud Scheduler トリガーを使用して作成された Cloud Scheduler ジョブの一時停止、再開、コピー オペレーションはサポートされていません。

Cloud Scheduler から Cloud Scheduler ジョブの実行を手動で一時停止すると、Cloud Scheduler トリガーは、トリガー構成ペインでエラーをスローします。

Cloud Scheduler トリガーのエラー メッセージの詳細については、Cloud Scheduler トリガーのトラブルシューティングをご覧ください。Cloud Scheduler を使用した cron ジョブの一時停止と再開については、ジョブを一時停止または再開するをご覧ください。

Cloud Scheduler ジョブを削除する

Cloud Scheduler ジョブは、Apigee Integration の統合内または Cloud Scheduler から削除できます。

Apigee Integration

Apigee Integration から Cloud Scheduler ジョブを削除するには、次の操作を行います。

  1. Apigee UI で、Apigee 組織を選択します。
  2. [Develop] > [Integrations] の順にクリックします。
  3. 編集する統合を選択します。
  4. 統合エディタ[Version] プルダウンをクリックし、削除する Cloud Scheduler トリガーを含む統合バージョンを選択します。
  5. 選択した統合バージョンを公開停止にします。

    対応する統合バージョンの Cloud Scheduler ジョブが削除されます。

Cloud Scheduler

Cloud Scheduler から Cloud Scheduler ジョブを削除するには、次の手順を行います。

  1. Google Cloud コンソールで、[Cloud Scheduler] に移動します。

    Cloud Scheduler に移動

  2. 削除する Cloud Scheduler ジョブを選択します。
  3. [削除] をクリックします。

    対応する統合バージョンの Cloud Scheduler ジョブが削除されます。

ベスト プラクティス

ベスト プラクティスとして、不要になった Cloud Scheduler トリガーは公開停止にすることをおすすめします。冗長な Cloud Scheduler トリガーを公開したままにすると、トリガーが自動的に統合を呼び出し、追加の課金が発生する可能性があります。

Cloud Scheduler トリガーのトラブルシューティング

次の表に、Cloud Scheduler トリガーで発生する可能性のあるエラーと、対応するエラーの原因を示します。

エラーの場所 エラーの発生 エラー メッセージ 考えられる原因 解決策
トリガー構成ペイン > エラー メッセージ Cloud Scheduler ジョブが統合の実行を停止するとき The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB doesn’t exist. It might be deleted from your Google Cloud project. Cloud Scheduler ジョブが Cloud Scheduler を使用して削除されています。 新しい統合バージョンを作成して、既存の Cloud Scheduler ジョブを上書きします。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is PAUSED. You must RESUME the job from your Google Cloud project. Cloud Scheduler ジョブが Cloud Scheduler を使用して一時停止されています。 Cloud Scheduler から Cloud Scheduler ジョブを再開します。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is DISABLED due to an internal system error. トリガーログで問題を特定します。 新しい統合バージョンを作成して、既存の Cloud Scheduler ジョブを上書きします。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is in an UPDATE_FAILED state due to a failed CloudScheduler.UpdateJob operation. 指定されたサービス アカウントに必要な IAM 権限がありません。 この状態からジョブを復元するには、正常なレスポンスを受信するまで CloudScheduler.UpdateJob オペレーションを再試行します。
The last execution of the Cloud Scheduler job CLOUD_SCHEDULER_JOB failed due to CLOUD_SCHEDULER_JOB_ISSUE. Learn more. CLOUD_SCHEDULER_JOB_ISSUE なし