一時停止タスク

一時停止タスクでは、統合の実行を一時停止して再開できます。

統合の実行時、コントロールが一時停止タスクに到達すると、実行は一時停止され、一時停止タスクより後のすべてのタスクが一時停止されます。統合は、次のいずれかのイベントが発生すると実行を再開します。

  • 指定した停止時間の有効期限が切れる。
  • Suspensions API から再開実行リクエストを受信した後。

一時停止タスクに出力変数(一時停止の結果)を構成して任意の値を設定し、その値を使用して下流のタスクを実行するための分岐条件を作成することもできます。

承認タスク、一時停止タスク、タイマータスクを比較する

3 つのタスク(承認一時停止タイマー)はすべてインテグレーションの一時停止と再開と同様の機能を実行します。ただし、それらにはわずかな違いがあります。次の表に、3 つのタスクの違いを示します。

承認タスク 一時停止タスク タイマータスク
インテグレーションの自動再開はサポートされていません。インテグレーションを再開するには手動での操作が必要です。 インテグレーションの手動再開と自動再開の両方をサポートしています。一時停止を取り消すための手動操作がない場合、インテグレーションは一時停止期限の経過後に実行を自動的に再開します。 インテグレーションの自動再開のみをサポートしています。インテグレーションの実行は、一時停止の期限を経過すると自動的に再開されます。
API 呼び出しではインテグレーションを再開できません。インテグレーション UI を使用して手動で一時停止を解決する必要があります。 インテグレーション用の Suspensions API を使用してインテグレーションを再開できます。 インテグレーションの自動再開のみをサポートしています。
インテグレーションが停止(一時停止)すると、ユーザーが通知を受け取ります。 インテグレーションが停止(一時停止)しても、ユーザーは通知を受け取りません。 インテグレーションが停止(一時停止)しても、ユーザーは通知を受け取りません。
出力変数(ブール値)がサポートされます。これにより、インテグレーションを再開する前に条件付きチェックを実行できます。ただし、出力変数の値は true または false のいずれかに限られます。 出力変数(文字列)がサポートされます。これにより、インテグレーションを再開する前に条件付きチェックを実行できます。出力変数には任意の値を設定できます。 出力変数はサポートしていません。

一時停止タスクを構成する

一時停止タスクを構成するには、次の操作を行います。

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

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

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

    インテグレーション デザイナーでインテグレーションが開きます。

  4. インテグレーション デザイナーのナビゲーション バーで、[+ Add a task/trigger] > [Tasks] の順にクリックして、使用可能なタスクのリストを表示します。
  5. 統合エディタで [Suspend] タスク要素をクリックして配置します。
  6. デザイナーの [Suspend] タスク要素をクリックして、[Suspend] タスク構成ペインを表示します。
  7. 次の表に示すように、残りの項目はタスクの構成プロパティを使用して設定します。

    プロパティへの変更は自動的に保存されます。

構成プロパティ

次の表は、一時停止タスクの構成プロパティを示しています。

プロパティ データ型 説明
Suspension Time 整数 統合の実行を一時停止しておく時間(分)。最大時間制限は 44,640 分(31 日)で、これはデフォルト値でもあります。

指定した時間制限内で統合の実行が再開されない場合、統合は制限時間が経過した後に自動的に実行を再開し、Suspension result 変数の値を Expired に設定します。

Suspension result 文字列 一時停止タスクの結果を格納する変数。この変数への値の設定は任意です。この変数は、要件に応じて任意の値に設定できます。この変数は、統合の実行フローをよりきめ細かく制御する場合に役立ちます。たとえば、一時停止結果を読み取り、下流のタスクの値に基づいて条件付きの決定を構成できます。
Suspension Id 文字列 一時停止タスクの一意の識別子。この変数の値は、統合が一時停止された直後に設定されます。ID の値は、統合 UI の [実行ログ] ページで取得できます。API を使用して統合をトリガーする場合は、API のレスポンス オブジェクトから識別子の値を取得することもできます。

統合の実行を再開するには、一時停止 ID を使用するか、統合の実行 ID を使用します。

Suspensions API で一時停止を取り消す

Suspensions API を使用すると、API 呼び出しによって一時停止を取り消すことができます。Suspensions API を使用して一時停止を取り消すには、統合の実行 ID または一時停止タスクの一時停止 ID が必要です。一時停止を取り消すには、次の API に POST リクエストを発行する必要があります。

https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
    

この API では、INTEGRATION_ID は省略可能です。ただし、EXECUTION_ID または SUSPENSION_ID を指定する必要があります。ID 値がない場合は、値を - に置き換えることができます。この API では、REGIONPROJECTLOCATION は必須項目です。

一時停止を取り消すと、統合実行は一時停止タスクの後に下流のタスクを再開して実行します。

次の例では、Suspensions API を使用して一時停止を取り消します。

例 1: 一時停止 ID のみを使用して一時停止を取り消す

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"Approved"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift

この例では、Suspension result 変数が一時停止 ID c6a13a79-a918-41e2-82b9-32b5a010755aApproved に設定されています。

例 2 実行 ID のみを使用して一時停止を取り消す

次の curl コマンドは、実行 ID のみがある場合に一時停止を取り消す方法を示したものです。

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"true"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift

この例では、Suspension result 変数が実行 ID 76a391e7-c801-45d7-8046-eab20d167ec5true に設定されています。

例 3: 実行 ID と一時停止 ID の両方を使用して一時停止を取り消す

次の curl コマンドは、実行 ID と一時停止 ID の両方がある場合に一時停止を取り消す方法を示したものです。

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift

この例では、Suspension result 変数が一時停止 ID f01815bf-ed18-4e01-9d41-cc2ce7861e95{processname: "Release", owner: "John", status: "approved"}; に設定されています。

エラー処理方式

タスクのエラー処理方法では、一時的なエラーによってタスクが失敗した場合のアクションを指定します。エラー処理方式と、さまざまな種類のエラー処理方式の詳細については、エラー処理方法をご覧ください。