-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App Engine Standard Go 1.9 migration to Go 1.11 の知見 #102
Comments
ドキュメント読んでて気づかなかったのでシェアします。 Go1.11ランタイムでは
そうしないとGCP APIが叩けません。
|
https://godoc.org/golang.org/x/oauth2/google#AppEngineTokenSource
https://github.com/golang/oauth2/blob/master/google/appengine_gen2_flex.go#L21 |
2018年11月時点で動くようには書かれているはずなので、動かなかった条件が少し知りたいところですね。 |
これは
ここはGo1.11は |
試しに
が出ているということは、デプロイ先がおかしい OR デプロイしないローカル環境での結果ではないでしょうか。 package main
import (
"fmt"
"io"
"net/http"
"os"
"golang.org/x/oauth2"
"golang.org/x/oauth2/google"
"google.golang.org/appengine"
)
func main() {
http.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {
tokenSource := google.AppEngineTokenSource(r.Context())
client := oauth2.NewClient(r.Context(), tokenSource)
resp, err := client.Get(fmt.Sprintf(`https://appengine.googleapis.com/v1/apps/%s/services`, os.Getenv("GOOGLE_CLOUD_PROJECT")))
if err != nil {
http.Error(rw, err.Error(), http.StatusInternalServerError)
return
}
defer resp.Body.Close()
io.Copy(rw, resp.Body)
})
appengine.Main()
} runtime: go111
service: go111-tokensource |
ような場合、そのまま 具体的には
のように、vendorフォルダを作った後、go.modファイルをリネームするなり何なりしてやる必要があります |
実は |
誘導ありがとうございます |
dev_appserver.pyにbug。
上記の様に scriptハンドラを上書きするURLパターンのstatic_filesハンドラがあると、scriptハンドラが処理されず404エラーとなる。 プロダクションでは問題なし。 |
WHAT
App Engine Standard Go 1.9 migration to Go 1.11の知見を集約していく
このissueにそのまま書いてもよいし、やった時に書いたBlogなどへのLinkでもよい
WHY
App Engine Standardにはたくさんの機能が存在していて、開発環境なども絡むと結構ややこしいので、色んな人のケースを集めてみよう。
Refs
The text was updated successfully, but these errors were encountered: