Cloud Storage に保存されているイベントデータを処理する Cloud Run ジョブを実行する


Workflows を使用して、より複雑なデータ処理を行う、または既存のジョブのシステムをオーケストレートするワークフローの一部として Cloud Run ジョブを実行できます。

このチュートリアルでは、Workflows を使用して Cloud Storage バケットに保存されているイベントデータを処理する Cloud Run ジョブを実行する方法について説明します。イベント ペイロードを Cloud Storage バケットに保存すると、顧客管理の暗号鍵を使用してデータの暗号化が可能です。これは、Cloud Run ジョブへ環境変数としてイベントデータを渡す場合には不可能です。

次の図は、その概要を示しています。

Pub/Sub イベントは、Eventarc トリガーによって Workflows に転送され、Cloud Storage バケットに保存されます。Cloud Run ジョブは、バケットに保存されるイベントデータを処理します。

目標

このチュートリアルの内容は次のとおりです。

  1. Cloud Storage バケットに保存されるイベントデータを処理する Cloud Run ジョブを作成します。
  2. 次の処理を行うワークフローをデプロイします。
    1. 引数としてイベントを受け取ります。
    2. イベント ペイロード データを Cloud Storage バケットに書き込みます。
    3. Cloud Run Admin API コネクタを使用して、Cloud Run ジョブを実行します。
  3. Pub/Sub トピックを作成して、メッセージをパブリッシュできるようにします。 このチュートリアルでは、Workflows を使用してイベントをルーティングする方法の例として Pub/Sub イベントを使用し、Cloud Run ジョブがイベントデータを処理できるように Cloud Storage にイベントを保存します。
  4. Pub/Sub トピックにメッセージが書き込まれたときにワークフローを実行する Eventarc トリガーを作成します。
  5. Pub/Sub トピックにメッセージを書き込むことで、ワークフローをトリガーする。

費用

このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。 新しい Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

始める前に

組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、制約のある Google Cloud 環境でアプリケーションを開発するをご覧ください。

このチュートリアルを始める前に、特定の API を有効にして、ユーザーが管理するサービス アカウントを作成する必要があります。Eventarc トリガーを使用してイベントを転送し、ワークフローを実行できるように、サービス アカウントに必要なロールと権限を付与する必要があります。

Cloud Shell を使用してこのチュートリアルを試している場合は、Compute Engine のデフォルトのサービス アカウントに追加のロールを付与する必要が生じることがあります。詳細については、このドキュメントの Cloud Run ジョブを作成するをご覧ください。

Console

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  10. 2021 年 4 月 8 日以前に、認証済みの Pub/Sub push リクエストをサポートするために Cloud Pub/Sub サービス エージェントを有効にした場合は、サービス アカウント トークン作成者のロールroles/iam.serviceAccountTokenCreator)をサービス エージェントに付与します。それ以外の場合、このロールはデフォルトで付与されます。
    1. Google Cloud コンソールの [IAM] ページに移動します。

      [IAM] に移動

    2. [Google 提供のロール付与を含みます] チェックボックスをオンにします。
    3. [名前] 列で、Cloud Pub/Sub サービス アカウントを見つけて、対応する行にある [プリンシパルを編集します] をクリックします。
    4. [ ロールを追加] または [ 別のロールを追加] をクリックします。
    5. [ロールを選択] リストで、[サービス アカウント トークン作成者] でフィルタして、ロールを選択します。
    6. [保存] をクリックします。
  11. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  12. Cloud Shell は、このチュートリアルのコマンドラインの手順をサポートしています。

gcloud

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  7. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker :

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  13. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker :

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  14. 2021 年 4 月 8 日以前に、認証済みの Pub/Sub push リクエストをサポートするために Cloud Pub/Sub サービス エージェントを有効にした場合は、サービス アカウント トークン作成者のロールroles/iam.serviceAccountTokenCreator)をサービス エージェントに付与します。それ以外の場合、このロールはデフォルトで付与されます。
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \
        --role=roles/iam.serviceAccountTokenCreator
  15. PROJECT_NUMBER は、実際の Google Cloud プロジェクトの番号に置き換えます。プロジェクト番号は、Google Cloud コンソールの [ようこそ] ページで確認できます。また、次のコマンドで確認することもできます。

    gcloud projects describe PROJECT_ID --format='value(projectNumber)'

Cloud Run ジョブを作成する

このチュートリアルでは、GitHub にあるサンプルコードを使用します。デプロイ スクリプトは、Cloud Run ジョブを作成するためのコンテナ イメージを作成します。このスクリプトでは、Cloud Storage バケットも作成されます。Cloud Run ジョブは、Cloud Storage バケットに保存されているイベントデータを読み取り、そのイベントデータを出力します。

  1. Cloud Shell でデプロイ スクリプトを実行している場合や、Compute Engine のデフォルトのサービス アカウントに編集者ロールが設定されていない場合は、Compute Engine のデフォルト サービス アカウントにプロジェクトに対する次のロールを付与します。(この手順をスキップして、次のステップでサンプルアプリ リポジトリのクローンを作成することもできます。)

    1. Artifact Registry 書き込みロールroles/artifactregistry.writer)を付与します。

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/artifactregistry.writer

      PROJECT_NUMBER は、実際の Google Cloud プロジェクトの番号に置き換えます。プロジェクト番号は、Google Cloud コンソールの [ようこそ] ページで確認できます。また、次のコマンドで確認することもできます。

      gcloud projects describe PROJECT_ID --format='value(projectNumber)'

    2. Storage オブジェクト ユーザー ロールroles/storage.objectUser)を付与します。

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/storage.objectUser
    3. Logging ログ書き込みロールroles/logging.logWriter)を付与します。

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/logging.logWriter
  2. ローカルマシンにサンプルアプリのリポジトリのクローンを作成して、サンプルコードを取得します。

    git clone https://github.com/GoogleCloudPlatform/workflows-demos.git
    

    または、zip 形式のサンプルをダウンロードすることもできます。

  3. サンプルコードが入っているディレクトリに移動します。

    cd workflows-demos/cloud-run-jobs-payload-gcs/message-payload-job
    
  4. デプロイ スクリプトを実行して、Cloud Run ジョブを作成します。

    ./deploy-job.sh
    

このスクリプトは、message-payload-PROJECT_ID という名前の Cloud Storage バケットを作成します。ここで、PROJECT_ID は Google Cloud プロジェクトの ID です。message-payload-job という名前の Cloud Run ジョブも作成されます。

Cloud Run ジョブを実行するワークフローをデプロイする

作成した Cloud Run ジョブを実行するワークフローを定義してデプロイします。ワークフロー定義は、Workflows 構文を使用して説明した一連のステップで構成されています。

ワークフローは、イベントを受信してイベントデータを Cloud Storage バケットに保存し、Cloud Run ジョブを実行してイベントデータを処理します。

Console

  1. Google Cloud コンソールの [ワークフロー] ページに移動します。

    [ワークフロー] に移動

  2. [ 作成] をクリックします。

  3. 新しいワークフローの名前を入力します(例: message-payload-workflow)。

  4. 適切なリージョン(例: us-central1)を選択します。

  5. [サービス アカウント] フィールドで、先ほど作成したサービス アカウントを選択します。

    サービス アカウントはワークフローの ID として機能します。次のロールがサービス アカウントにすでに付与されている必要があります。

    • Cloud Run 管理者: Cloud Run ジョブを実行します
    • ログ書き込み: ログエントリを書き込みます
    • Storage オブジェクト作成者: Cloud Storage にオブジェクトを作成します
  6. [次へ] をクリックします。

  7. ワークフロー エディタで、次のワークフローの定義を入力します。

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  8. [デプロイ] をクリックします。

gcloud

  1. ワークフローのソースコード ファイルを作成します。

    touch message-payload-workflow.yaml
    
  2. 次のワークフロー定義を message-payload-workflow.yaml にコピーします。

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  3. 次のコマンドを入力してワークフローをデプロイします。

    gcloud workflows deploy message-payload-workflow \
        --location=us-central1 \
        --source=message-payload-workflow.yaml \
        --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    

    以下を置き換えます。

    • SERVICE_ACCOUNT_NAME: 先ほど作成したサービス アカウントの名前
    • PROJECT_ID: Google Cloud プロジェクトの ID

    サービス アカウントはワークフローの ID として機能します。次のロールがサービス アカウントにすでに付与されている必要があります。

    • roles/logging.logWriter: ログエントリを書き込みます
    • roles/run.admin: Cloud Run ジョブを実行します
    • roles/storage.objectCreator: Cloud Storage にオブジェクトを作成します

ワークフローは、次のことを行います。

  1. init ステップ - イベントを引数として受け取り、必要な変数を設定します。

  2. log_event ステップ - 関数 sys.log を使用して、Cloud Logging にログエントリを作成します。

  3. write_payload_to_gcs ステップ - HTTP POST リクエストを行い、イベント ペイロード データを Cloud Storage バケット ファイルに書き込みます。

  4. run_job_to_process_payload ステップ - Cloud Run Admin API コネクタ メソッド googleapis.run.v1.namespaces.jobs.run を使用して、ジョブを実行します。Cloud Storage バケットとデータファイル名が、ワークフローからジョブにオーバーライド変数として渡されます。

  5. finish ステップ - ワークフローの結果としてジョブの実行に関する情報を返します。

Pub/Sub トピックの作成

Pub/Sub トピックを作成して、メッセージをパブリッシュできるようにします。 Pub/Sub イベントは、Workflows を使用してイベントをルーティングし、Cloud Storage にイベントを保存して、Cloud Run ジョブがイベントデータを処理できるようにする方法を示すために使用されます。

Console

  1. Google Cloud コンソールの トピック ページに移動します。

    [トピック] に移動

  2. [トピックを作成] をクリックします。

  3. [トピック ID] フィールドに、トピックの ID(message-payload-topic など)を入力します。

  4. [デフォルトのサブスクリプションを追加] オプションは、そのまま保持します。

  5. 他のオプションは選択しないでください。

  6. [作成] をクリックします。

gcloud

ID message-payload-topic を含むトピックを作成するには、gcloud pubsub topics create コマンドを実行します。

gcloud pubsub topics create message-payload-topic

イベントをワークフローにルーティングする Eventarc トリガーを作成する

ワークフローを自動的に実行し、次に Cloud Run ジョブを実行するには、Pub/Sub イベントに応答し、イベントをワークフローにルーティングする Eventarc トリガーを作成します。メッセージが Pub/Sub トピックに書き込まれるたびに、イベントによってワークフローの実行がトリガーされます。

Console

  1. Google Cloud コンソールの [ワークフロー] ページに移動します。

    [ワークフロー] に移動

  2. ワークフローの名前(message-payload-workflow など)をクリックします。

  3. [ワークフローの詳細] ページで [ 編集] をクリックします。

  4. [ワークフローの編集] ページの [トリガー] セクションで、[新しいトリガーを追加] > [Eventarc] の順にクリックします。

    [Eventarc トリガー] ペインが開きます。

  5. [トリガー名] フィールドに、トリガーの名前を入力します(例: message-payload-trigger)。

  6. [イベント プロバイダ] リストから、[Cloud Pub/Sub] を選択します。

  7. [イベント] リストで [google.cloud.pubsub.topic.v1.messagePublished] を選択します。

  8. [Cloud Pub/Sub トピックを選択してください] リストから、前に作成した Pub/Sub トピックを選択します。

  9. [サービス アカウント] フィールドで、先ほど作成したサービス アカウントを選択します。

    サービス アカウントはトリガーの ID として機能します。次のロールがサービス アカウントにすでに付与されている必要があります。

    • Eventarc イベント受信者: イベントを受信します
    • Workflows 起動元: Workflows を実行します
  10. [トリガーを保存] をクリックします。

    Eventarc トリガーは、[ワークフローの編集] ページの [トリガー] セクションに表示されます。

  11. [次へ] をクリックします。

  12. [デプロイ] をクリックします。

gcloud

次のコマンドを実行して、Eventarc トリガーを作成します。

gcloud eventarc triggers create message-payload-trigger \
    --location=us-central1 \
    --destination-workflow=message-payload-workflow \
    --destination-workflow-location=us-central1 \
    --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --transport-topic=projects/PROJECT_ID/topics/message-payload-topic \
    --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID
  • SERVICE_ACCOUNT_NAME: 先ほど作成したサービス アカウントの名前

サービス アカウントはトリガーの ID として機能します。次のロールがサービス アカウントにすでに付与されている必要があります。

  • roles/eventarc.eventReceiver: イベントを受信します
  • roles/workflows.invoker: Workflows を実行します

ワークフローをトリガーする

Pub/Sub トピックにメッセージを公開し、イベントを生成して、エンドツーエンドのシステムをテストする。詳細については、イベントまたは Pub/Sub メッセージでワークフローをトリガーするをご覧ください。

  1. Pub/Sub トピックにメッセージをパブリッシュしてイベントを生成します。

    gcloud pubsub topics publish message-payload-topic --message="Hello World"
    

    イベントはワークフローに転送され、イベント メッセージがログに記録され、イベントデータが Cloud Storage バケットに保存されて、Cloud Storage に保存されたデータを処理する Cloud Run ジョブが実行されます。この処理には 1 分ほどかかることがあります。

  2. ジョブ実行を表示して、Cloud Run ジョブが想定どおりに実行されたことを確認します。

    gcloud run jobs executions list --job=message-payload-job
    

    新しいジョブの実行が出力に表示されます。

  3. ワークフローのトリガーによって作成されたイベント関連のログエントリを表示するには、次のコマンドを実行します。

    gcloud logging read "resource.type=cloud_run_job AND textPayload:Payload"
    
  4. 次のようなログエントリを探します。

    textPayload: "Payload: {'message': {'data': 'SGVsbG8gV29ybGQ=', 'messageId': '8834108235224238',\
    \ 'publishTime': '2023-09-20T17:07:52.921Z'}, 'subscription': 'projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741'}"
    ...
    resource:
    labels:
      job_name: message-payload-job
      location: us-central1
      project_id: MY_PROJECT
    type: cloud_run_job
    textPayload: Processing message payload gs://message-payload-MY_PROJECT/8254002311197919.data.json
    
  5. Cloud Storage バケット オブジェクトのイベントデータを表示することで、結果が想定どおりであることを確認できます。

    1. バケット名を取得します。

      gcloud storage ls

      出力は次のようになります。

      gs://message-payload-PROJECT_ID/

    2. バケット内のオブジェクトを一覧表示します。

      gcloud storage ls gs://message-payload-PROJECT_ID/** --recursive

      出力例を以下に示します。

      gs://message-payload-PROJECT_ID/OBJECT_ID.data.json

      OBJECT_ID をメモします。これは次の手順で使用します。

    3. バケット内のオブジェクトをファイルとしてダウンロードします。

      gcloud storage cp gs://message-payload-PROJECT_ID/OBJECT_ID.data.json message-event.txt

      OBJECT_ID を前のステップで返された ID に置き換えます。

    4. テキスト エディタを使用して、message-event.txt ファイルを開きます。ファイルに書き込まれるイベント本文は次のようになります。

      {
        "message": {
          "data": "SGVsbG8gV29ybGQ=",
          "messageId": "8254002311197919",
          "publishTime": "2023-09-20T16:54:29.312Z"
        },
        "subscription": "projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741"
      }
      

      SGVsbG8gV29ybGQ= 値を Base64 形式からデコードすると「Hello World」が返されます。

クリーンアップ

このチュートリアル用に新規プロジェクトを作成した場合は、そのプロジェクトを削除します。既存のプロジェクトを使用し、このチュートリアルで変更を加えずに残す場合は、チュートリアル用に作成したリソースを削除します。

プロジェクトの削除

課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

プロジェクトを削除するには:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

チュートリアル リソースの削除

このチュートリアルで作成したリソースを削除します。

  1. Pub/Sub トピックを削除します

  2. Eventarc トリガーを削除する

  3. Workflows のワークフローを削除します

  4. Cloud Run ジョブを削除します

  5. Cloud Storage バケットを削除します

次のステップ