gcloud CLI を使用してワークフローを作成する
このクイックスタートでは、Google Cloud CLI を使用して最初のワークフローを作成、デプロイ、実行する方法について説明します。サンプル ワークフローは、リクエストを公開 API に送信してから、API のレスポンスを返します。
すべての Workflows gcloud CLI コマンドのリストについては、Workflows gcloud CLI のリファレンス ページをご覧ください。
準備
組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、制約のある Google Cloud 環境でアプリケーションを開発するをご覧ください。
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Workflows API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable workflows.googleapis.com
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Workflows API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable workflows.googleapis.com
-
認証を設定します。
-
サービス アカウントの作成 IAM ロール(
roles/iam.serviceAccountCreator)とプロジェクト IAM 管理者ロール(roles/resourcemanager.projectIamAdmin)があることを確認します。ロールを付与する方法を確認する。 -
サービス アカウントを作成します。
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
SERVICE_ACCOUNT_NAMEをサービス アカウントの名前に置き換えます。 -
サービス アカウントに
roles/logging.logWriterIAM ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/logging.logWriter
以下を置き換えます。
SERVICE_ACCOUNT_NAME: サービス アカウントの名前PROJECT_ID: サービス アカウントを作成したプロジェクト ID
-
サービス アカウントの作成 IAM ロール(
サービス アカウントのロールと権限の詳細については、ワークフローにGoogle Cloud リソースへのアクセス権限を付与するをご覧ください。
必要なロール
このクイックスタートを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
サービス アカウント ユーザー(
roles/iam.serviceAccountUser) -
ワークフロー管理者 (
roles/workflows.admin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
ワークフローを作成、デプロイ、実行する
ホーム ディレクトリで、
myFirstWorkflow.yamlまたはmyFirstWorkflow.jsonという名前の新しいファイルを作成します。次のワークフローをコピーして新しいファイルに貼り付け、保存します。
YAML
JSON
独自の検索キーワードを入力する場合を除き、このワークフローによりGoogle Cloud ロケーションを使用して検索キーワードが作成され、これが Wikipedia API に渡されます。関連する Wikipedia 記事のリストが返されます。
ワークフローをデプロイし、指定されたサービス アカウントに関連付けます。
gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.EXTENSION \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com以下を置き換えます。
EXTENSION: ワークフローのファイル拡張子。YAML バージョンにはyamlを使用し、JSON バージョンにはjsonを使用するPROJECT_ID: プロジェクト ID
ワークフローを実行します。
gcloud workflows run myFirstWorkflow \ --data='SEARCH_TERM'SEARCH_TERMは、検索キーワードで置き換えます。例:{"searchTerm":"North"}{}を入力すると、 Google Cloudの位置情報を使用して検索キーワードが作成されます。実行の試行結果が返されます。出力は次のようになります。
argument: '{"searchTerm":"North"}' duration: 0.210616856s endTime: '2023-05-10T21:56:39.465899376Z' name: projects/734581694262/locations/us-central1/workflows/workflow-1/executions/eae31f11-a5c3-47e2-8014-05b400820a79 result: '["North","North America","Northern Ireland","North Korea","North Macedonia","North Carolina","Northrop Grumman B-2 Spirit","Northrop F-5","Northern Cyprus","North Dakota"]' startTime: '2023-05-10T21:56:39.255282520Z' state: SUCCEEDED status: currentSteps: - routine: main step: returnOutput workflowRevisionId: 000001-ac2
これで最初のワークフローのデプロイと実行が完了しました。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。
作成したワークフローを削除します。
gcloud workflows delete myFirstWorkflow続行を確認するメッセージが表示されたら、「
y」と入力します。
ワークフローが削除されます。