ついに来た!
Today, we're excited to announce support for Go on Cloud Functions.
Get Go-ing with Cloud Functions: Go 1.11 is now a supported language
GCPのCloud Functionsに、Go言語のサポートが来ました!素晴らしい!!
という訳で、早速使ってみましょうʕ◔ϖ◔ʔ
2つの機能
以下の2つの機能があるようです。
- HTTP functions:
- HTTPのリクエストに応答する
- Background functions:
- Cloud Storageのバケットにファイルが追加された時などに発火されるeventに応答する
先のGCPブログ記事だけでなく、以下の公式動画「Go Cloud Functions」も非常に参考になります。
準備
さっそくコードを書いて動かしたいのですが、2019/01/24現在でCloud Functionsがベータ版ということもありgcloud
ツールのbeta機能をインストールするなど準備が必要です。こちらの記事を読みながら以下を実施しておきます。
1. GCP プロジェクトを選択または作成します。
2. プロジェクトに対して課金が有効になっていることを確認します。
3. Cloud Functions API を有効にする。(API を有効にすると、認証情報を得る必要はありません。)
4. Cloud SDK をインストールし、初期化します。
5. gcloud コンポーネントを更新し、インストールします。
gcloud components update && gcloud components install beta
クイックスタート: gcloud コマンドライン ツールの使用
HTTP functions
動画に登場するサンプルを使います。以下をfunction.go
として保存します。// function.go package hello import "net/http" func F(w http.ResponseWriter, r *http.Request) { msg := []byte("Hello, 世界!") w.Write(msg) }
では、デプロイしてみましょう。
記事「Cloud Functions Tokyo Region を試してみた」を参考にして東京リージョンを使います。
gcloud functions deploy hello \ --runtime go111 \ --entry-point F \ --region asia-northeast1 \ --trigger-http
実行結果の
httpsTrigger
に記載のURLをブラウザで開くと、無事に関数が動作していることが確認できましたʕ◔ϖ◔ʔウヒョーまとめ
Go言語で書いた「HTTPリクエストに応答する関数」が、とても簡単にCloud Functionsにデプロイできるということが確認できました!素晴らしいですね(*´ω`*)
次回は小ネタを挟みつつ
Background Functions
を使ってみたいと思います!
0 件のコメント:
コメントを投稿