Go クイックスタート

Cloud Functions は、クラウド サービスの作成と接続に使用できるサーバーレスの実行環境です。Cloud Functions を使用すると、クラウドのインフラストラクチャやサービスで生じたイベントに関連する、単一目的のシンプルな関数を作成できます。対象のイベントが発生すると、関数がトリガーされます。

ここでは、Cloud Console を使用して Go Cloud ファンクションを作成し、デプロイする方法を説明します。この関数は、HTTP リクエストによってトリガーされると次のメッセージを書き込みます。

// Package p contains an HTTP Cloud Function.
package p

import (
  "encoding/json"
  "fmt"
  "html"
  "net/http"
)

// HelloWorld prints the JSON encoded "message" field in the body
// of the request or "Hello, World!" if there isn't one.
func HelloWorld(w http.ResponseWriter, r *http.Request) {
  var d struct {
    Message string `json:"message"`
  }
  if err := json.NewDecoder(r.Body).Decode(&d); err != nil {
    fmt.Fprint(w, "Hello World!")
    return
  }
  if d.Message == "" {
    fmt.Fprint(w, "Hello World!")
    return
  }
  fmt.Fprint(w, html.EscapeString(d.Message))
}

始める前に

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

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

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

  4. Cloud Functions and Cloud Build API を有効にします。

    API を有効にする

関数を作成する

  1. Cloud Console で Functions の概要ページを開きます。

    Cloud Functions の概要ページに移動

    Cloud Functions を有効にしたプロジェクトが選択されていることを確認します。

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

  3. 関数に名前を付けます。

  4. [トリガー] フィールドで、[HTTP] を選択します。

  5. [認証] フィールドで、[未認証の呼び出しを許可する] を選択します。

  6. [保存] をクリックして変更を保存し、[次へ] をクリックします。

  7. [ソースコード] フィールドで [インライン エディタ] を選択します。この演習では、エディタで提供されているデフォルト関数を使用します。

  8. [ランタイム] プルダウンで、必要な Go ランタイムを選択します。

関数をデプロイする

  1. ページの下部にある [デプロイ] をクリックします。

  2. [デプロイ] をクリックすると、Cloud Console に Cloud Functions の概要ページが表示されます。

    関数のデプロイ中は、関数の横に小さいスピナーのアイコンが表示されます。デプロイが完了すると、スピナーが緑のチェックマークに変わります。

    関数のデプロイ プロセスを示すスクリーンショット

関数をテストする

  1. 関数のメニューを表示して、[関数をテスト] をクリックします。

    関数のテストプロセスを示すスクリーンショット

  2. テストページで、[関数をテスト] をクリックします。

    [出力] 画面にテキスト "Hello World!" が表示されます。

  3. ここで、メッセージを変更します。[トリガーとなるイベント] フィールドに、テキスト「{"message":"Hello, YOUR_NAME!"}」を入力し(YOUR_NAME は名前に置き換えてください)、[関数をテスト] をクリックします。

    たとえば、「Rowan」という名前を入力したとします。[出力] フィールドに、「Hello, Rowan!」というメッセージが表示されます。

    [ログ] フィールドにステータス コード 200 が表示されていれば、成功しています。

    [ログ] フィールドに成功を示すコード 200 が表示されているスクリーンショット

ログを表示する

ログ履歴内のアクションを確認するには、ログを開いてチェックします。

  • Cloud Functions の概要ページに戻り、関数のメニューを表示し、[ログを表示] をクリックします。

ログの履歴が表示されます。

[ログ] フィールドに成功を示すコード 200 が表示されているスクリーンショット

次のステップ