クイックスタート: Google Cloud Console を使用してワークフローを作成する

このクイックスタートでは、Cloud Console を使用して最初のワークフローを作成、デプロイ、実行する方法について説明します。ワークフローでは、リクエストをサンプル API に送信してから、レスポンスを使用することでリクエストを作成して公開 API に送信します。 続いて、ワークフローは公開 API のレスポンスを返します。


このタスクを Google Cloud Console で直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


以降のセクションでは、[ガイドを表示] をクリックした場合と同じ手順について説明します。

始める前に

組織が Google Cloud 環境に制約を適用すると、このドキュメントの一部の手順が正しく機能しない場合があります。その場合、パブリック IP アドレスやサービス アカウント キーを作成するようなタスクを完了できない場合があります。制約に関するエラーを返すリクエストを行う場合は、制約がある Google Cloud 環境でアプリケーションを開発する方法をご覧ください。

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  5. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  6. ワークフロー API を有効にします。

    ワークフロー API を有効にするには:
  7. Cloud Console で、[サービス アカウント] ページに移動します。

    [サービス アカウント] に移動
  8. プロジェクトを選択し、[サービス アカウントを作成] をクリックします。
  9. [サービス アカウント名] フィールドに名前を入力します(例: sa-name)。
  10. [作成] をクリックします。
  11. [ロール] リストから、[ロギング] > [ログ書き込み] を選択します。

    : [ロール] フィールドによって、サービス アカウントによるリソースへのアクセスが認可されます。Cloud Logging にログを送信するには、roles/logging.logWriter ロールを割り当てます。本番環境アプリケーションを開発している場合は、常に、最小限のロールを付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。ワークフローのロールの一覧については、アクセス制御のリファレンスをご覧ください。
  12. [続行] をクリックします。
  13. [完了] をクリックします。

ワークフローを作成してデプロイする

  1. 新しいワークフローを作成するには、Google Cloud Console で [ワークフロー] ページを開きます。
    [ワークフロー] ページに移動

  2. コンソールの [ワークフロー] ページで、[作成] を選択します。

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

  4. リージョンには us-central1 を選択します。

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

  6. [次へ] を選択します。

  7. 次のワークフローをコピーしてワークフロー エディタに貼り付けます。

    YAML

    main:
        params: [input]
        steps:
        - checkSearchTermInInput:
            switch:
                - condition: ${"searchTerm" in input}
                  assign:
                    - searchTerm: ${input.searchTerm}
                  next: readWikipedia
        - getCurrentTime:
            call: http.get
            args:
                url: https://us-central1-workflowsample.cloudfunctions.net/datetime
            result: currentDateTime
        - setFromCallResult:
            assign:
                - searchTerm: ${currentDateTime.body.dayOfTheWeek}
        - readWikipedia:
            call: http.get
            args:
                url: https://en.wikipedia.org/w/api.php
                query:
                    action: opensearch
                    search: ${searchTerm}
            result: wikiResult
        - returnOutput:
                return: ${wikiResult.body[1]}

    JSON

    {
      "main": {
        "params": [
          "input"
        ],
        "steps": [
          {
            "checkSearchTermInInput": {
              "switch": [
                {
                  "condition": "${\"searchTerm\" in input}",
                  "assign": [
                    {
                      "searchTerm": "${input.searchTerm}"
                    }
                  ],
                  "next": "readWikipedia"
                }
              ]
            }
          },
          {
            "getCurrentTime": {
              "call": "http.get",
              "args": {
                "url": "https://us-central1-workflowsample.cloudfunctions.net/datetime"
              },
              "result": "currentDateTime"
            }
          },
          {
            "setFromCallResult": {
              "assign": [
                {
                  "searchTerm": "${currentDateTime.body.dayOfTheWeek}"
                }
              ]
            }
          },
          {
            "readWikipedia": {
              "call": "http.get",
              "args": {
                "url": "https://en.wikipedia.org/w/api.php",
                "query": {
                  "action": "opensearch",
                  "search": "${searchTerm}"
                }
              },
              "result": "wikiResult"
            }
          },
          {
            "returnOutput": {
              "return": "${wikiResult.body[1]}"
            }
          }
        ]
      }
    }

    このワークフローでは、サンプル API を呼び出します。 返された曜日は、Wikipedia API に渡されます。今日の曜日に関する Wikipedia の関連記事が返されます。

  8. [デプロイ] を選択します。

ワークフローを実行する

ワークフローが正常にデプロイされましたので、最初のワークフローを実行できます。ワークフローをデプロイすると、[詳細] ページが表示されます。

ワークフロー詳細ページ

ワークフローを実行するには:

  1. [ワークフローの詳細] ページで [実行] を選択します。

  2. [ワークフローの実行] ページで、[実行] を選択します。

  3. ワークフローの結果が [出力] ペインに表示されます。

    ワークフローのクイックスタートの出力

これで最初のワークフローのデプロイと実行が完了しました。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. Cloud Console の [ワークフロー] ページに移動します。
    ワークフロー

  2. ワークフローのリストからワークフローをクリックして、[ワークフローの詳細] ページに移動します。

  3. [削除] をクリックします。

  4. ワークフローの名前を入力し、[確認] をクリックします。

次のステップ