golang的GAE环境下的appengine包

package appengine

import "code.google.com/p/appengine-go/appengine"

appengine包提供Google App Engine的基本函数服务。

更多细节参见:https://developers.google.com/appengine/docs/go/

Index

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地址格式(如 [email protected])。

func ModuleName

func ModuleName(c Context) string

返回当前实例的模块名。

func ModuleHostname

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

返回一个模块实例的主机名,module为空的话,使用当前实例的模块,version为空则使用当前实例的版本(如不合法则使用当前实例的默认版本),如果实例为空,函数返回负载平衡主机名。

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,函数返回端主的负载平衡后机名。

func BackendInstance

func BackendInstance(c Context) (name string, index int)

返回当前后端实例的名称和索引,如果不是后端实例,会返回"", -1。

type BlobKey

type BlobKey string

BlobKey是blobstore的键的类型。定义在这里是为了避免blobstore和datastore的循环依赖。

时间: 2024-08-25 00:07:02

golang的GAE环境下的appengine包的相关文章

Golang在Linux环境下的POSIX风格socket编程

这里给出一个服务端和客户端,服务端可以接受多个连接,并且利用Go的杀手特性go和channel来替代select进行数据的接收. 服务端: package main import ( "fmt" . "syscall" ) func RecvRoutine(sockfd int, session chan string) { var buffer []byte = make([]byte, 3000) for { if length, err := Read(soc

CentOS7.X环境下源码包安装部署RabbitMQ3.7.17

本文介绍在CentOS7.X环境下源码包安装部署RabbitMQ3.7.17,使用docker安装很简单,这里我就不往文章中添加.在CentOS7.X环境下使用源码包安装还是有遇到不少坑的(使用yum安装的方式官方网站有介绍,比较简单),通过这篇我的个人实践操作,能够帮助到有需要的人.搭建环境:操作系统:CentOS7.5内存大小:16GB硬盘:100G注:正文中的参数与部署路径等,请根据实际需求修改.1.软件准备:wxWidgets-3.1.2.tar.bz2otp_src_22.0.tar.

python 在内网windows环境下pip三方包

我没用过Linux环境. 一般情况下,内网安装三方包,只需要在pypi找到对应python版本(2.7,3.6,...),系统位数(32位,64位)的whl包,cmd命令行cd进入相关目录,pip install whl名字.whl,安装就能成功.注意whl文件不能改名字. 但是,内网环境的python版本.系统位数和外网不一样,有时候三方包能够pip安装,但是找不到对应的whl包,那怎么办? 我外网环境是3.7 win10 64位,内网 3.6 win7 32位.anaconda在内网安装失败

【Spring Boot项目】Win7+JDK8+Tomcat8环境下的War包部署

一.pom.xml及启动类修改 pom.xml Step1:指定打包类型 <!-- 打包类型 jar 或 war --> <packaging>war</packaging> Step2:移除嵌入式tomcat插件 <!-- 支持web的模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-

Linux系统下网络数据包的处理流程

本文主要探讨linux环境下,数据包从网卡接收到协议栈处理的处理流程和对应的代码逻辑. 分析的内核代码版本为4.17.6,涉及到的网卡硬件功能特性和逻辑均以intel的82599以太网控制器为例,驱动为ixgbe.本文仅讨论physical function的驱动代码逻辑. 数据包从网卡接收开始,其总体处理流程如下: 网卡接收光/电信号,将其转换为数据帧内容,如果帧符合以太网地址等过滤条件,则保存到FIFO缓存中.82599控制器中共有8个FIFO缓存队列. 网卡解析FIFO中数据帧的2/3/4

Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署

序言 这是本人博客园第一篇文章,写的不到位之处,希望各位看客们谅解. 本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来.深感惋惜! 现在将Golang的学习点滴记录分享,废话到此,下面进入正文. 注:此文及以后所有内容中的开发平台为:Windows 开发工具为:JetBrains Gogland x64版本 官方下载地址为:https://www.jetbrains.com/go/download/#section=windows

带包的java类在cmd环境下的执行办法

带包的java类在cmd环境下的执行办法:工程目录为D:\Program Files\eclipse\workspace\ReadFileByLinesUniq上面目录下有两个文件夹bin和src源文件位于src\cn\cnnic\ops\zonefile目录下通过eclipse编译src\cn\cnnic\ops\zonefile\ReadFileByLinesUniq.java的.class文件位于bin\cn\cnnic\ops\zonefile\ReadFileByLinesUniq.c

DOS环境下含包并引用第三方jar的java程序的编译及运行

DOS环境下含包并引用第三方jar的java程序的编译及运行 1.程序目录机构 bin:class文件生成目录 lib:第三方jar包目录 src:源程序文件目录 2.程序代码: 3.程序编译 javac –classpath .;..\lib\commons-lang-2.3.jar -d ..\bin com\Test.java 4.编译后的程序目录: 5.运行程序及结果显示 java -classpath .;..\lib\commons-lang-2.3.jar com.Test

Linux环境下RPM包相互依赖的解决办法

Linux环境下安装Oracle11gR2提示缺少"Package: elfutils-libelf-devel-0.125    FAILED"包,按照提示安装该包时又提示缺少依赖包"elfutils-libelf-devel-static-x86_64",而安装依赖包时又提示缺少原有的包,形成了相互依赖的关系. [[email protected]_plat rpms]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.x8