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

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

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

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

レスポンスフィールドをフィルタリングする

Response fields を使用して、Google Cloud アクションの API レスポンスをワークフローで必要なフィールドのみに制限します。これによりレスポンスが小さくなり、後続ノードで返されたデータを利用しやすくなります。

デフォルトでは値は *(すべてのフィールド)です。特定のフィールドを選択するには、このセクションを展開して、アクションの出力モデルから生成されたツリー型ピッカーを表示してください。

Google Cloud action response fields

  • 個々のフィールドにチェックを付ける・外すことでフィールドを選択します。親フィールドを選択すると、そのすべての子フィールドが含まれます。親フィールドが一部のみ選択されている場合は不定状態として表示されます。

  • Search fields ボックスを使用して、フィールド名でツリーをフィルタリングします。

  • 展開アイコンを選択して、複雑な出力モデルをより簡単にナビゲートできる大きなダイアログを開きます。

選択したフィールドは Google Cloud field mask としてシリアライズされ、API リクエストの fields クエリパラメータとして送信されます。返されるフィールドを減らすとレスポンスが小さく・高速になり、後続ノードの設定を簡素化できます。

承認を必須にする

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

Require approval for a Google Cloud action

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

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

  • Reject approval after certain time (任意): アクションが承認を待機する最大時間を制限します。指定可能な時間単位は HoursDaysWeeksMonths です。例えば、承認者が 24 時間以内にアクションを承認または拒否しなければならないように設定できます。指定した時間が経過するまでに承認者がいずれのアクションも行わなかった場合、そのアクションは自動的に拒否されます。

ウェイターを追加する

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

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

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

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

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

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

ウェイターの例

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

  1. Trigger: 例として、schedule または manual trigger があります。
  2. Google Cloud ノード: リソースを作成または変更するアクションを実行します(例: Compute Engine insert instance、Cloud Storage create bucket)。ウェイターを有効にし、リソースの準備が整ったときに true になる JMESPath condition を設定します(例: status == 'DONE' または status == 'Complete')。
  3. 次のノード: Notification ノード、別の Google Cloud アクション、またはBranch ノードで出力を使用し、結果に基づいて判断します。

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

ヒント

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

制限事項

このセクションでは、CloudFlow 内の特定の Google Cloud アクションに関する既知の制限を示します。

Cloud Storage: storage.objects.get

CloudFlow は、storage.objects.get に対する alt=media クエリパラメータをサポートしていません。ファイル名やサイズなどのメタデータは取得できますが、このアクションを通じて生ファイルコンテンツを直接ダウンロードすることはできません。これにより、機密データが Run history や保存された結果に保存されることを防ぎ、大容量ダウンロードによる信頼性リスクを軽減します。

注意

同様の理由から、[CLI node] を使用して gcloud storage cat を介して GCS オブジェクトファイルの内容を渡さないことを推奨します。

テスト

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