ワークフローの概要

Workflows を使用することで、定義した順序で一連のサーバーレス タスクを関連付けるサーバーレス ワークフローを作成できます。Google Cloud の API の機能、Cloud Functions や Cloud Run などのサーバーレス プロダクトを組み合わせ、外部 API を呼び出して柔軟なサーバーレス アプリケーションを作成します。

ワークフローでは、インフラストラクチャの管理が不要であり、需要に合わせてシームレスにスケールします(ゼロへのスケールダウンなど)。ワークフローの迅速なスケーリングと実行の遅延の低さは、レイテンシの影響を受けやすい実装に最適です。

ワークフローは従量課金制を採用しているため、実行したワークフローに対してのみ料金を支払います。ワークフローは、Google Cloud Console から、Cloud SDK を使用したコマンドラインから、または REST API を使用して管理できます。

ワークフローの基本

ワークフローは、ワークフロー構文で記述された一連のステップで構成され、YAML 形式または JSON 形式のいずれでも記述できます。これがワークフローの定義です。ワークフロー構文の詳細については、[構文リファレンス] ページをご覧ください。

ワークフローが作成されると、デプロイされ、ワークフローを実行できる準備が整います。

実行とは、ワークフローの定義に含まれるロジックを 1 回だけ実行することです。実行されなかったワークフローは課金されません。ワークフローのそれぞれの実行はすべて独立しています。また、このプロダクトの迅速なスケーリングにより、多数の同時実行が可能です。

ベスト プラクティスとして、メインのワークフローは、main ブロックに配置することをおすすめします。

サブワークフロー

頻繁に繰り返される手順は、サブワークフローに取り込むことで、ワークフローを単純で読みやすくします。サブワークフローは、プログラミング言語のルーティンや関数と同じ様に機能し、ワークフローが何回も繰り返す 1 つ以上のステップをカプセル化できます。ワークフローにサブワークフローがある場合は、メイン ワークフローを main ブロックに配置する必要があります。例については、構文リファレンスをご覧ください。

ランタイム引数

main ブロックに配置する必要があるメイン ワークフローに params フィールドを追加すると、実行時に渡されるデータにアクセスできます。params フィールドは、渡されたデータの保存にワークフローが使用するディクショナリに名前を付けます。引数には、ドット表記を使用してアクセスできます。例については、構文リファレンスをご覧ください。

ワークフローの ID と認証

ワークフロー実行の呼び出しにはすべて認証が必要になるため、ワークフローを使用することで、誤った呼び出しや悪意のある呼び出しのリスクを軽減できます。IAM ベースのサービス アカウントを使用すれば、他の Google API との連携や認証を簡素化することもできます。

Secret Manager を使用すると、ワークフローから外部 API への認証に使用する鍵とパスワードを安全に保存できます。

ワークフローが認証を処理する方法について詳しくは、[認証] ページをご覧ください。

組み込みのエラー処理

指数バックオフによる自動 HTTP 呼び出し再試行、カスタム エラーハンドラ、その他の高度な機能など、ワークフローの例外処理を使用すると、障害発生時にワークフローの復元と動作のカスタマイズができます。

次のステップ