使用GoogleAppEngine和Go语言(GAE/g)创建网络应用程序的准备部分

首先

我打算就在Google App Engine(以下简称GAE)的标准环境中使用Go语言时遇到的困难点提供一些线索。

    • GAEのプロジェクトでは、ローカル環境で開発後、デプロイを行う

ローカル開発用SDKが充実しているが、 GoogleCloudSDK と、 AppEngineSDK の2種類が必要となる

データの保存先

ローカル環境での場合、基本的にローカルに保存される
しかし、Cloud Storageの場合のみ、GAEサービス上のstagingバケットに保存するようにする

ADC(Google Application Default Credentials)認証

ローカル環境から、透過的にGAEサービスにアクセスするために、ADCという仕組みがある
gcloudコマンドを利用し、Googleアカウントの情報を記録することで、アプリケーションから簡単にGAEのリソースにアクセスすることができる

GOPATHの設定

割とどこにおいても良いと書いてあるが、glideというパッケージ管理ツールを利用する関係で、プロジェクトディレクトリ直下を指定している

パッケージ管理には、glideを利用する

准备本地开发环境(Mac)

    • Python 2.7.x

Google Cloud SDK v140.0.0

必須コンポーネント(bg, core, gsuite, gcloud)

App Engine SDK v1.9.48

glide(パッケージ管理ツール)

$ brew install glide

资源(Datastore、云存储、内存缓存)的访问目标

一开始,Datastore是为了GAE而设计的,而CloudStorage则是作为另一种服务发布的。
由于GAE专用的BlobStore计划被废止,所以变得不协调了。

    • ローカル環境

Datastore: ローカル
Cloud Storage: stagingバケット
Memcache: ローカル

運用環境

Datastore: GAE
Cloud Storage: 運用バケット(staging.が付いていない)
Memcache: GAE

谷歌应用默认凭据(ADC)认证

初回のみ(Googleアカウントの認証と、プロジェクトを紐付ける)

$ gcloud init

認証関係の確認や再設定

$ gcloud {info|auth|list}
$ gcloud auth login
$ gcloud auth application-default login

GOPATH的设置示例

# Glide
export GO15VENDOREXPERIMENT=1

# GOPATHは,プロジェクト配下に設定
export GOPATH=$HOME/IdeaProjects/goapp/
export PATH=$PATH:$HOME/google-cloud-sdk/platform/google_appengine/goroot/bin/
export PATH=$PATH:$HOME/go_appengine/

# The next line updates PATH for the Google Cloud SDK.
if [ -f {ホームディレクトリ}/google-cloud-sdk/path.bash.inc ]; then
  source '{ホームディレクトリ}/google-cloud-sdk/path.bash.inc'
fi

# The next line enables shell command completion for gcloud.
if [ -f {ホームディレクトリ}/google-cloud-sdk/completion.bash.inc ]; then
  source '{ホームディレクトリ}/google-cloud-sdk/completion.bash.inc'
fi

滑行(Glide)软件包管理工具

$ glide create                           # 初回のみ、glide.ymlを生成
$ glide get github.com/Masterminds/glide # パッケージを取得
$ glide install                          # lockファイルを更新せずにインストール
$ glide update                           # lockファイルを更新してインストール
$ glide up                               # glide installとたぶん同じ  
广告
将在 10 秒后关闭
bannerAds