gcloud CLI を使用してワークフローを作成する
このクイックスタートでは、Google Cloud CLI を使用して最初のワークフローを作成、デプロイ、実行する方法について説明します。ワークフローでは、リクエストをサンプル API に送信してから、レスポンスを使用することでリクエストを作成して公開 API に送信します。続いて、ワークフローは公開 API のレスポンスを返します。
すべての Workflows gcloud CLI コマンドのリストについては、Workflows gcloud CLI のリファレンス ページをご覧ください。
始める前に
組織が Google Cloud 環境に制約を適用すると、このドキュメントの一部の手順が正しく機能しない場合があります。その場合、パブリック IP アドレスやサービス アカウント キーを作成するようなタスクを完了できない場合があります。制約に関するエラーを返すリクエストを行う場合は、制約がある Google Cloud 環境でアプリケーションを開発する方法をご覧ください。
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成する
gcloud projects create PROJECT_ID
-
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
-
-
Google Cloud プロジェクトの課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成する
gcloud projects create PROJECT_ID
-
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
-
-
Google Cloud プロジェクトの課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
ワークフロー API を有効にします。
gcloud services enable workflows.googleapis.com
- サービス アカウントを作成して名前を付けます。例:
sa-name
。gcloud iam service-accounts create sa-name
- Cloud Logging にログを送信するには、サービス アカウントに
roles/logging.logWriter
ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
サービス アカウントのロールと権限の詳細については、ワークフローに Google Cloud リソースへのアクセス権限を付与するをご覧ください。
ワークフローを作成、デプロイ、実行する
ホーム ディレクトリで、
myFirstWorkflow.yaml
またはmyFirstWorkflow.json
という名前の新しいファイルを作成します。次のワークフローをコピーして新しいファイルに貼り付け、保存します。
YAML
JSON
このワークフローでは、サンプル API を呼び出します。返された曜日は、Wikipedia API に渡されます。今日の曜日に関する Wikipedia の関連記事が返されます。
ワークフローをデプロイし、指定されたサービス アカウントに関連付けます。
gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.EXTENSION \ --service-account=sa-name@PROJECT_ID.iam.gserviceaccount.com
次のように置き換えます。
EXTENSION
: ワークフローのファイル拡張子。YAML バージョンにはyaml
を使用し、JSON バージョンにはjson
を使用します。PROJECT_ID
: プロジェクト ID
ワークフローを実行します。
gcloud workflows run myFirstWorkflow \ --data='DAY_OF_WEEK'
DAY_OF_WEEK
は、検索キーワードで置き換えます。例:{"searchTerm":"Tuesday"}
{}
と入力すると、現在の日付(グリニッジ標準時)が取得されます。実行の試行結果が返されます。出力は次のようになります。
argument: '{"searchTerm":"Tuesday"}' endTime: '2022-07-19T13:50:00.452572474Z' name: projects/1051295516635/locations/us-central1/workflows/myFirstWorkflow/executions/9714c400-c8ce-4495-bdf8-fec3d1c4aaf7 result: '["Tuesday","Tuesday Weld","Tuesday Night Music Club","Tuesday (iLoveMakonnen song)","Tuesdays with Morrie","Tuesday Knight","Tuesday Night Baseball","Tuesday Vargas","Tuesday Morning Quarterback","Tuesdays with Morrie (film)"]' startTime: '2022-07-19T13:49:59.901548541Z' state: SUCCEEDED status: currentSteps: - routine: main step: returnOutput workflowRevisionId: 000001-ac2
これで最初のワークフローのデプロイと実行が完了しました。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud プロジェクトとそのリソースをまとめて削除してください。
作成したワークフローを削除します。
gcloud workflows delete myFirstWorkflow
続行を確認するメッセージが表示されたら、「
y
」と入力します。
ワークフローが削除されます。