golang的GAE環境下的appengine包

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

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的循環相依性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.