14.3 クラウドサービスにデプロイする
クラウド上のサービスにサーバーレス・コンテナのアプリをデプロイしましょう。AWSとGoogle Cloudのそれぞれ代表的なサービスについてのフローを紹介します。
それぞれのサービス向けにデプロイするベースとなるアプリケーションはローカルで普通に動く {"message":"hello"}
というメッセージを返すウェブサービスです。ハンドラー部分は以下の通りです。 net/http
形式のハンドラー関数を作っています。実行環境向けの特別なライブラリは不要です。
package sampleapp
import (
"encoding/json"
"net/http"
)
func Handle(w http.ResponseWriter, _ *http.Request) {
h := Hello{Message: "Hello world!"}
enc := json.NewEncoder(w)
enc.Encode(&h)
}
var Handler = http.HandlerFunc(Handle)
type Hello struct {
Message string `json:"message"`
}
ハンドラーを起動するmain.go
を作ります。 これも特別なところはありません。
package main
import (
"log"
"net/http"
"sampleapp"
)
func main() {
log.Fatal(http.ListenAndServe(":8080" ...
Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.