appengine パッケージ

import "google.golang.org/appengine"

はじめに

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

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

索引

func AccessToken(c context.Context, scopes ...string) (token string, expiry time.Time, err error)
func AppID(c context.Context) string
func Datacenter(c context.Context) string
func DefaultVersionHostname(c context.Context) string
func InstanceID() string
func IsDevAppServer() bool
func IsOverQuota(err error) bool
func IsTimeoutError(err error) bool
func ModuleHostname(c context.Context, module, version, instance string) (string, error)
func ModuleName(c context.Context) string
func Namespace(c context.Context, namespace string) (context.Context, error)
func NewContext(req *http.Request) context.Context
func PublicCertificates(c context.Context) ([]Certificate, error)
func RequestID(c context.Context) string
func ServerSoftware() string
func ServiceAccount(c context.Context) (string, error)
func SignBytes(c context.Context, bytes []byte) (keyName string, signature []byte, err error)
func VersionID(c context.Context) string
func WithContext(parent context.Context, req *http.Request) context.Context
type BlobKey
type Certificate
type GeoPoint
    func (g GeoPoint) Valid() bool
type MultiError
    func (m MultiError) Error() string

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 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 IsDevAppServer

func IsDevAppServer() bool

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

func IsOverQuota

func IsOverQuota(err error) bool

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

func IsTimeoutError

func IsTimeoutError(err error) bool

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

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 PublicCertificates

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

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

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 WithContext

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

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

type BlobKey

type BlobKey string

BlobKey は、Blobstore blob のキーです。

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

type Certificate

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

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

type GeoPoint

type GeoPoint struct {
    Lat, Lng float64
}

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

func (GeoPoint) Valid

func (g GeoPoint) Valid() bool

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

type MultiError

type MultiError []error

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

func (MultiError) Error

func (m MultiError) Error() string