Workflowsを触ってみる【GCP】
やりたいこと
GCPのWorkflowsに入門する。
サンプルワークフローを作るところまでやってみる。
環境
- Windows 10 Pro
- Google Cloud SDK 378.0.0
Workflowsとは
公式ドキュメントより抜粋
ワークフローは、フルマネージドのオーケストレーション プラットフォームで、定義した順序(ワークフロー)でサービスを実行します。
これらのワークフローでは、
Cloud Run や Cloud Functions でホストされているカスタム サービス、
Cloud Vision AI や BigQuery などの Google Cloud サービス、
任意の HTTP ベースの API を含むサービスを組み合わせることができます。
CloudRunやCloudFunctionsといったAPIベースのGCPサービスや、外部APIをつなぎ込んでワークフローを作れるサービスのようです。
ワークフローを作成する別のGCPサービスとしては Cloud Composerがあります。
ComposerとWorkflowsの比較は、こちらのDataAnalyticsOnAirの資料13ページ目に非常に分かりやすく掲載されていました。
手順
ワークフローを作成する
以下のようなYAMLファイルを作成します。
「getTodo」と「returnValue」という2つのステップから成る、簡単なワークフローです。
JSONPlaceholderのWebAPIにリクエストを送りJSONデータを取得し、そのデータを返すワークフローを作成します。
- getTodo:
call: http.get
args:
url: https://jsonplaceholder.typicode.com/todos/1
result: response
- returnValue:
return: ${response.body}
CloudSDKがインストールされたターミナルでYAMLファイルがあるディレクトリに移動し、以下を実行すると、「sample_workflow1」という名前のワークフローがデプロイされます。
gcloud workflows deploy sample_workflow1 --source=sample_workflow1.yml
Workflowsのコンソールを確認すると、ワークフローがデプロイできたことが確認できました。
ターミナルで以下を実行すると、デプロイされたワークフローの一覧を確認することができます。
> gcloud workflows list
NAME STATE REVISION_ID UPDATE_TIME
projects/hoge/locations/us-central1/workflows/sample_workflow1 ACTIVE 000001-9ef 2022-03-27T02:03:23.596046039Z
ワークフローを実行する
ターミナルから実行するときは以下を実行します。
> gcloud workflows run sample_workflow1
出力はこのようになります。resultのところに、APIのレスポンスが格納されているのが確認できます。
Waiting for execution [f374cb6e-9ead-40df-9fb7-e8c5c193688e] to complete...done.
argument: 'null'
endTime: '2022-03-27T02:13:29.401004603Z'
name: projects/hoge/locations/us-central1/workflows/sample_workflow1/executions/f374cb6e-9ead-40df-9fb7-e8c5c193688e
result: '{"completed":false,"id":1,"title":"delectus aut autem","userId":1}'
startTime: '2022-03-27T02:13:29.102838318Z'
state: SUCCEEDED
workflowRevisionId: 000001-9ef
ワークフローを削除する
Workflowsは、実行したステップの数によって課金額が決まります。
外部へのリクエストのステップは1か月に2000ステップまで無料とのことですが、念のためワークフローを削除しておきます。
> gcloud workflows delete sample_workflow1
参考
Author And Source
この問題について(Workflowsを触ってみる【GCP】), 我々は、より多くの情報をここで見つけました https://qiita.com/yyyyy__78/items/ad1e2d6d26bf2ac3f949著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .