概要

ワークフローを使用して、定義済みの順序で一連のサーバーレス タスクを関連付ける、サーバーレス ワークフローを作成します。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 との連携や認証を簡素化することもできます。

シークレット マネージャーを使用すると、ワークフローから外部 API への認証に使用する鍵とパスワードを安全に保存できます。

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

組み込みのエラー処理

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

次のステップ