メインコンテンツへスキップ

Google Cloud ノード

Google Cloud ノードを使用すると、フローから直接 Google Cloud のサービスと連携できます。これを使用してデータを取得し、リソースを作成または変更し、Google Cloud のサービス全体でアクションを実行できます。あるノードの出力は次のノードの入力となるため、一連のアクションやオペレーションを定義できます。

アクションを探す

フローに Google Cloud ノードを追加する際は、プロバイダーとして Google Cloud を選択し、Google Cloud のサービス内を検索または参照してアクションを見つけてください。さらに、テンプレートノードを使用すると、あらかじめ構成されたアクションのグループを現在のフローに追加できます。

Search for a Google Cloud action

アクションを設定する

アクションノードを選択すると、設定用の 3 つのタブを含むサイドパネルが開きます。

Google Cloud action configuration

  • パラメータ:このタブには、選択したサービスとアクション、そしてそれらを変更するオプションが表示されます。このタブで承認設定も構成します。利用可能なパラメータはサービスおよびアクションによって異なります。パラメータの種類や、前のノードから値(リスト全体やマップを含む)を参照する方法については、パラメータの種類を参照してください。

  • 権限:このタブでは、アクションを実行するために必要な権限を保有しているかどうかを確認でき、保有していない場合の手順が提供されます。あわせて APIs in CloudFlow も参照してください。

承認を必須にする

アクションの実行前に承認が必要な場合は、Permissions タブで Require approval for this action を選択してください。

Require approval for a Google Cloud action

  • 通知プロバイダー:承認者に Slack かメールのどちらで通知するかを指定します。前者を使用する場合は、事前に DoiT との共有 Slack チャネルを作成しておく必要があります。

  • メッセージ(任意):承認者へのメッセージです。メッセージには前のノードのフィールドを追加できます。メッセージが作成されると、そのフィールドのデータがメッセージ内に表示されます。これにより、受信者はシステムにナビゲートして手動で関連情報を検索することなく、意思決定に必要な詳細を確認できるため便利です。フィールドの配列はカンマ区切りのリストとして表示されます。例えば、Instance ID: i-123,i-466 のようになります。

  • 一定時間後に承認を拒否(任意):アクションが承認を待機する最大時間を制限します。使用可能な時間単位は HoursDaysWeeksMonths です。例えば、「承認者は 24 時間以内にアクションを承認または拒否しなければならない」と設定できます。指定した時間が経過するまでに承認者が何も操作を行わない場合、アクションは自動的に拒否されます。

ウェイターを追加する

ウェイターは、フローが次のステップに進む前に、フロー内の Google Cloud アクションが完了していることを保証します。多くの Google Cloud のオペレーションは非同期であり、API 呼び出しはリソースが最終状態に到達する前に戻ります。ウェイターを使用すると、アクション結果に対する JMESPath 条件を定義できます。条件が満たされるまで(または最大リトライ回数に達するまで)アクションが実行されます。例えば、VM が実行中になるのを待機したり、バケットが作成されるのを待機したり、JMESPath 式で表現できる任意の状態を待機することができます。

アクションにウェイターが必要な場合は、Enable waiter を選択し、JMESPath 条件とリトライ設定を構成してください。

Google Cloud action Parameters tab with Enable waiter and JMESPath condition / retry fields

  • JMESPath conditionJMESPath 構文を使用して条件を定義します。この式はアクション結果に対して評価され、真偽値を返す必要があります。条件がまだ満たされていない場合、一定の遅延の後にアクションが再度呼び出されます。これは条件が満たされるか、最大リトライ回数に達するまで繰り返されます。例えば、status == 'RUNNING' は、リソースがそのステータスを報告するまで待機します。

  • Max retries(1–30):失敗と見なされる前にアクションを再実行する最大回数です。デフォルトは 5 です。

  • Min delay (ms)Max delay (ms):試行間の遅延は、これらの上限と下限の間で指数バックオフを使用します。Min delay のデフォルトは 1000 ms、Max delay のデフォルトは 10000 ms です。

ウェイターの例

一般的なパターンとしては、Google Cloud アクションでリソースを作成または変更し、そのリソースが目的の状態に到達するまで待機してから、別のアクションや通知に進みます。

  1. トリガー:例えば、スケジュール手動トリガーです。
  2. Google Cloud ノード:リソースを作成または変更するアクションを実行します(例:Compute Engine のインスタンス作成、Cloud Storage のバケット作成)。ウェイターを有効にし、リソースが準備完了になったときに真になる JMESPath 条件(例:status == 'DONE'status == 'Complete')を設定します。
  3. 次のノード:結果に基づいて処理を行うために、Notification ノード、別の Google Cloud アクション、または Branch ノード で出力を使用します。

ウェイターがない場合、次のノードはリソースがまだ保留状態のうちに実行され、失敗したり正しく動作しなかったりする可能性があります。ウェイターを使用すると、条件が満たされた後にのみフローが継続します。

ヒント

done フィールドを返す長時間実行のオペレーションでは、done == true のような条件を使用すると、オペレーションが完了するまで待機できます。

テスト

ノードをテストするには、Test を選択してください。