パッケージ google.golang.org/appengine(v1.6.8)

appengine パッケージは、Google App Engine の基本的な機能を提供します。

Google App Engine の Go アプリを記述する方法の詳細については、https://cloud.google.com/appengine/docs/go/ をご覧ください。

変数

ミドルウェア

var Middleware func(http.Handler) http.Handler = internal.Middleware

Middleware は http ハンドラをラップして GAE API 呼び出しを行えるようにします。

関数

func APICall

func APICall(ctx context.Context, service, method string, in, out proto.Message) error

APICall は、API 呼び出しを実行します。

一般的な利用は意図していません。WithAPICallFunc と組み合わせて使用するためにエクスポートされます。

func AccessToken

func AccessToken(c context.Context, scopes string) (token string, expiry time.Time, err error)

AccessToken は、このアプリケーションのサービス アカウントに代わって、指定したスコープに対する OAuth2 アクセス トークンを生成します。このトークンは、返された時間の経過後に期限切れとなります。

func AppID

func AppID(c context.Context) string

AppID は、現在のアプリケーションのアプリケーション ID を返します。この文字列は、書式なしのアプリケーション ID(「appid」など)であり、カスタム ドメインのデプロイメントに対応したドメイン接頭辞が付きます(「example.com:appid」など)。

func BackgroundContext(非推奨)

func BackgroundContext() context.Context

BackgroundContext は、リクエストに関連付けられていないコンテキストを返します。

非推奨: App Engine に特別なバックグラウンド コンテキストがなくなりました。context.Background() を使用してください。

func Datacenter

func Datacenter(c context.Context) string

Datacenter は、インスタンスが実行されているデータセンターの識別子を返します。

func DefaultVersionHostname

func DefaultVersionHostname(c context.Context) string

DefaultVersionHostname は、現在のアプリケーションのデフォルトのバージョンの標準ホスト名を返します(「my-app.appspot.com」など)。これは、URL の構築に適しています。

func InstanceID

func InstanceID() string

InstanceID は、このインスタンスのほぼ一意の識別子を返します。

func IsAppEngine

func IsAppEngine() bool

IsAppEngine は、App Engine アプリがスタンダード環境またはフレキシブル環境の App Engine で実行されているかどうかを報告します。

func IsDevAppServer

func IsDevAppServer() bool

IsDevAppServer は、App Engine アプリが開発用アプリサーバーで実行されているかどうかを報告します。

func IsFlex

func IsFlex() bool

IsFlex は、App Engine アプリがフレキシブル環境で実行されているかどうかをレポートします。

func IsOverQuota

func IsOverQuota(err error) bool

IsOverQuota は、err が割り当て不足による API 呼び出しの失敗を示しているかどうかを報告します。

func IsSecondGen

func IsSecondGen() bool

IsSecondGen は、App Engine アプリが第 2 世代ランタイム(Go 1.11 以降)で実行されているかどうかを報告します。

func IsStandard

func IsStandard() bool

IsStandard は、App Engine アプリがスタンダード環境で実行されているかどうかを報告します。これには、第 1 世代のランタイム(Go 1.9 以前)と第 2 世代のランタイム(Go 1.11 以降)の両方が含まれます。

func IsTimeoutError

func IsTimeoutError(err error) bool

IsTimeoutError は、err がタイムアウト エラーかどうかを報告します。

func Main

func Main()

Main は、App Engine で実行されているアプリの主要なエントリ ポイントです。

App Engine フレキシブル環境では、簡単なヘルス チェッカーがまだ登録されていない場合はインストールされ、ポート 8080($PORT 環境変数によってオーバーライドされる)でリッスンが開始されます。

独自のヘルスチェックを実施する方法の詳細については、https://cloud.google.com/appengine/docs/flexible/custom-runtimes#health_check_requests をご覧ください。

App Engine スタンダード環境では、サーバーが起動しており、リクエストを受信する準備が整っていることを確認します。

Main は二度と返されません。

Main は、アプリのメイン パッケージが次のようになるように設計されています。

package main

import (
        "google.golang.org/appengine"

        _ "myapp/package0"
        _ "myapp/package1"
)

func main() {
        appengine.Main()
}

「myapp/packageX」パッケージは、init 関数に HTTP ハンドラを登録することが想定されています。

func ModuleHostname

func ModuleHostname(c context.Context, module, version, instance string) (string, error)

ModuleHostname は、モジュール インスタンスのホスト名を返します。module が空の文字列の場合は、現在のインスタンスのモジュールが参照されます。version が空の場合は、現在のインスタンスのバージョン(有効な場合)、または現在のインスタンスのモジュールのデフォルトのバージョンが参照されます。instance が空の場合は、ロード バランシングのホスト名が返されます。

func ModuleName

func ModuleName(c context.Context) string

ModuleName は、現在のインスタンスのモジュール名を返します。

func Namespace

func Namespace(c context.Context, namespace string) (context.Context, error)

Namespace は、特定の名前空間内で動作する代替コンテキストを返します。

func NewContext

func NewContext(req *http.Request) context.Context

NewContext は、処理中の HTTP リクエストのコンテキストを返します。この関数は低コストで使用できます。

func RequestID

func RequestID(c context.Context) string

RequestID は、リクエストを一意に識別する文字列を返します。

func ServerSoftware

func ServerSoftware() string

ServerSoftware は、App Engine のリリース バージョンを返します。本番環境では、「Google App Engine/X.Y.Z」のようになります。開発用アプリサーバーでは、「Development/X.Y」のようになります。

func ServiceAccount

func ServiceAccount(c context.Context) (string, error)

ServiceAccount は、サービス アカウント名を表す文字列をメールアドレスの形式(通常は app_id@appspot.gserviceaccount.com)で返します。

func SignBytes

func SignBytes(c context.Context, bytes []byte) (keyName string, signature []byte, err error)

SignBytes は、アプリケーションに固有の秘密鍵を使用してバイトに署名します。

func VersionID

func VersionID(c context.Context) string

VersionID は、現在のアプリケーションのバージョン ID を返します。形式は「X.Y」となり、X は app.yaml で指定します。Y はアプリの各バージョンがアップロードされたときに生成された番号です。モジュール名は含まれていません。

func WithAPICallFunc

func WithAPICallFunc(ctx context.Context, f APICallFunc) context.Context

WithAPICallFunc は親コンテキストのコピーを返します。このコピーにより、API 呼び出しは通常のオペレーションの代わりに f を呼び出すようになります。

これは上級ユーザーのみを対象としています。

func WithContext

func WithContext(parent context.Context, req *http.Request) context.Context

WithContext は親コンテキストのコピーを返し、処理中の HTTP リクエストに関連付けます。この関数は低コストで使用できます。

APICallFunc

type APICallFunc func(ctx context.Context, service, method string, in, out proto.Message) error

APICallFunc は、API 呼び出しを処理するための関数型を定義します。WithCallOverride をご覧ください。

BlobKey

type BlobKey string

BlobKey は、blobstore blob のキーです。

概念的には、このデータ型は blobstore パッケージに属するものですが、循環依存関係を回避するために appengine パッケージに格納されています。blobstore は datastore に依存し、datastore は BlobKey 型を参照する必要があります。

Certificate

type Certificate struct {
	KeyName string
	Data    []byte // PEM-encoded X.509 certificate
}

Certificate は、アプリの公開証明書を表します。

func PublicCertificates

func PublicCertificates(c context.Context) ([]Certificate, error)

PublicCertificates は、アプリの公開証明書を取得します。SignBytes から返された署名を検証する目的で使用できます。

GeoPoint

type GeoPoint struct {
	Lat, Lng float64
}

GeoPoint は、緯度 / 経度の度数による位置を表します。

func (GeoPoint) Valid

func (g GeoPoint) Valid() bool

Valid は、GeoPoint が緯度 [-90, 90]、経度 [-180, 180] の範囲に収まっているかどうかを返します。

MultiError

type MultiError []error

MultiError は、特定の要素でエラーが発生している場合に、バッチ オペレーションによって返されます。エラーは入力要素と 1 対 1 で対応しており、成功した要素は nil エントリを持ちます。

func (MultiError) Error

func (m MultiError) Error() string