這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package appengine
import "code.google.com/p/appengine-go/appengine"
appengine包提供Google App Engine的基本函數服務。
更多細節參見:https://developers.google.com/appengine/docs/go/
Index
- type MultiError
- func (m MultiError) Error() string
- func IsCapabilityDisabled(err error) bool
- func IsTimeoutError(err error) bool
- func IsOverQuota(err error) bool
- type GeoPoint
- func (g GeoPoint) Valid() bool
- type Context
- func NewContext(req *http.Request) Context
- func Namespace(c Context, namespace string) (Context, error)
- func Timeout(c Context, d time.Duration) Context
- type Certificate
- func PublicCertificates(c Context) ([]Certificate, error)
- func SignBytes(c Context, bytes []byte) (string, []byte, error)
- func IsDevAppServer() bool
- func ServerSoftware() string
- func VersionID(c Context) string
- func AppID(c Context) string
- func InstanceID() string
- func RequestID(c Context) string
- func Datacenter() string
- func ServiceAccount(c Context) (string, error)
- func DefaultVersionHostname(c Context) string
- func ModuleName(c Context) string
- func ModuleHostname(c Context, module, version, instance string) (string, error)
- func AccessToken(c Context, scopes ...string) (token string, expiry time.Time, err error)
- func BackendHostname(c Context, name string, index int) string
- func BackendInstance(c Context) (name string, index int)
- type BlobKey
type MultiError
MutiError由批處理返回,包含每個條目的返回錯誤,錯誤一一對應與執行的條目,成功的條目對應的錯誤為nil。
type MultiError []error
func (MultiError) Error
func (m MultiError) Error() string
func IsCapabilityDisabled
func IsCapabilityDisabled(err error) bool
返回錯誤是否是因為API調用被禁止導致。
func IsTimeoutError
func IsTimeoutError(err error) bool
返回錯誤是否是逾時錯誤。
func IsOverQuota
func IsOverQuota(err error) bool
返回錯誤是否是因為超出API服務的配額限制所導致。
type GeoPoint
type GeoPoint struct { Lat, Lng float64 }
GeoPoint代表一個位置,使用經度值和維度值表示。
func (GeoPoint) Valid
func (g GeoPoint) Valid() bool
返回該位置是否合法,緯度值範圍[-90, 90],經度值返回[-180, 180]。
type Context
type Context interface { // 將資料群組織為字串,並記錄為Debug水平的日誌 Debugf(format string, args ...interface{}) // 類似Debugf,記錄為Info水平的日誌 Infof(format string, args ...interface{}) // 類似Debugf,記錄為Warning水平的日誌 Warningf(format string, args ...interface{}) // 類似Debugf,記錄為Error水平的日誌 Errorf(format string, args ...interface{}) // 類似Debugf,記錄為Critical水平的日誌 Criticalf(format string, args ...interface{}) // 僅供內部使用 Call(service, method string, in, out appengine_internal.ProtoMessage, opts *appengine_internal.CallOptions) error // 僅供內部使用,請使用AppID代替 FullyQualifiedAppID() string // 僅供內部使用 Request() interface{}}
Context代表一個正在執行中的HTTP請求的上下文環境。
func NewContext
func NewContext(req *http.Request) Context
返回正在運行中的HTTP請求的Context,多次調用的傳回值是相同的。
func Namespace
func Namespace(c Context, namespace string) (Context, error)
返回一個在指定的命名空間內啟動並執行替代用Context 。
func Timeout
func Timeout(c Context, d time.Duration) Context
返回一個在指定的時間後逾時的替代用Context。
type Certificate
type Certificate struct { KeyName string Data []byte // PEM編碼X.509認證 }
Certificate代表一個app的公開認證。
func PublicCertificates
func PublicCertificates(c Context) ([]Certificate, error)
檢索app的公認證,用於核實SignBytes返回的簽名。
func SignBytes
func SignBytes(c Context, bytes []byte) (string, []byte, error)
使用你的app專有的一個私密金鑰對資料進行簽名。
func IsDevAppServer
func IsDevAppServer() bool
返回當前app是否運行在開發版本上。
func ServerSoftware
func ServerSoftware() string
返回當前app的App Engine版本,生產版本形如"Google App Engine/X.Y.Z",開發版本形如"Development/X.Y"。
func VersionID
func VersionID(c Context) string
返回當前app的版本ID,格式為"X.Y",其中X是app.yaml指定的,而Y是在上傳每次該版本app時累加的數字。
func AppID
func AppID(c Context) string
返回當前app的AppID。
一般只返回ID(如"appid"),部署在自訂網域名的會包含網域名稱首碼(如"example.com:appid")。
func InstanceID
func InstanceID() string
返回當前執行個體的一個基本專屬的識別碼。
func RequestID
func RequestID(c Context) string
返回當前請求的專有識別碼。
func Datacenter
func Datacenter() string
返回當前執行個體運作在資料中心的識別碼。
func DefaultVersionHostname
func DefaultVersionHostname(c Context) string
返回當前app預設版本的標準主機名稱(形如 "my-app.appspot.com"),用於構造URL。
func ServiceAccount
func ServiceAccount(c Context) (string, error)
返回一個代表格服務帳戶名稱的字串,採用email地址格式(如 app_id@appspot.gserviceaccount.com)。
func ModuleName
func ModuleName(c Context) string
返回當前執行個體的模組名。
func ModuleHostname
func ModuleHostname(c Context, module, version, instance string) (string, error)
返回一個模組執行個體的主機名稱,module為空白的話,使用當前執行個體的模組,version為空白則使用當前執行個體的版本(如不合法則使用當前執行個體的預設版本),如果執行個體為空白,函數返回Server Load Balancer主機名稱。
func AccessToken
func AccessToken(c Context, scopes ...string) (token string, expiry time.Time, err error)
產生一個代表當前app的服務帳戶的指定範圍的Oauth2通行令牌,令牌會在時間超過expiry後到期。
func BackendHostname
func BackendHostname(c Context, name string, index int) string
返回指定後端的標準主機名稱。如果index為-1,函數返回端主的Server Load Balancer後機名。
func BackendInstance
func BackendInstance(c Context) (name string, index int)
返回當前後端執行個體的名稱和索引,如果不是後端執行個體,會返回"", -1。
type BlobKey
type BlobKey string
BlobKey是blobstore的鍵的類型。定義在這裡是為了避免blobstore和datastore的循環相依性。