Open7
Cloud Workflows メモ
Overview
AWS Step Functions みたいなサービス。
専用のコネクタで他の Google Cloud Serivces との連携もできる。
Workflows 下に Job っていう概念がある。Job にはユニークな ID が付与されるけど、名称とかラベル付けるのはできない。
Workflow
Job a
Steps
Job b
Steps
...
Workflow の Step から直接アクションできる要素一覧
- http.*:HTTP 通信
- sys.sleep:普通の sleep
- sys.log:Cloud Logging にログを転送
- googleapis.*:Workflow Connector 経由で他の GCP リソースとの連携が可能
Source Repository は Cloud Build Connector 経由で連携可能。
Step の next っていうやつを利用すれば条件分岐もできるし、C言語の goto文みたいな動きも実現できそう。
Terraform で Workflows の yaml 定義も管理できる。
resource "google_workflows_workflow" "demo" {
name = "demo"
region = "asia-southeast1"
service_account = google_service_account.workflow_demo.id
source_contents = templatefile("${path.module}/../../../../workflow/demo.yaml", {})
}
google provider v3.66.0 までは re-create される仕組みだったので、yaml 定義を更新するたびに過去の歴史が消えちゃう問題があったけど、v3.67.0 から update される仕組みになったので今は問題なし。