参考资料:http://blog.xuming.net/gae-tutorial
官网例子:https://developers.google.com/appengine/docs/python/gettingstartedpython27/helloworld
Google App Engine 应用通过 CGI 标准协议与服务器通讯.这是一个标准的Http处理流程,Web服务接受到客户端发来的Get或Post请求,web服务器把请求转发给你的应用程序,由应用程序来处理要输出的内容。
为了更好的理解这个过程,下面就开始开发我们经典的Hellow World应用程序吧。在这一章,仅仅只是实现显示一些简单的信息的功能。
创建一个简单的 Request Handler
首先创建一个名为 helloworld
的文件夹。 除非特殊说明,以后所有关于这个应用程序的文件都将放在这个文件夹里面。
在helloworld
文件夹里, 创建一个新文件 helloworld.py
,文件内容如下:
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'
这个Python 脚本处理一个request请求,并且设置一个Http header,输出一个空行和一段信息 Hello, world!
.
创建配置文件
每个App Engine application 都包含一个名为 app.yaml
的配置文件。 在这个配置文件中,可以设置具体的某个URL需要用哪个Python脚本来处理.
现在,在 helloworld
文件夹中,创建一个新的 app.yaml
文件,输入以下内容(注意缩进):
application: helloworld
version: 1
runtime: python
api_version: 1
handlers:
- url: .*
script: helloworld.py
这个配置文件描述了以下内容::
- 这个应用程序的标识是
helloworld
. 这个标识需要和你在App Engine网站上创建的应用程序标识保持一致。在开发期间你可以使用任何你喜欢的名字,但是上传的时候,必须要和你在App Engine 注册的标识保持一致。现在,我们把它设置为helloworld
. - 你的应用程序的版本号为
1
,如果你在上传应用之前修改了这个编号, App Engine 将会自动保留前一个版本的副本,以方便你可以在管理平台中将当前版本恢复成原来的版本。 - 该应用运行在
python
环境, 环境版本是 1. 目前只有Python可选,将来会提供更多的运行环境和开发语言. - 所有符合正则表达式
.*
(所有URL) 的请求,都由helloworld.py
脚本来处理.(注:当是纯python时,配置为script:helloworld.py,当使用webapp2框架时,配置为:script: helloworld.application,其中的application是程序代码中”application = webapp2.WSGIApplication“的变量名)
该配置文件使用 YAML语法. 关于该配置文件的更多选项, 请参考 the app.yaml reference.
测试应用程序
现在这个应用程序已经基本上完整了。 你可以在本地App Engine SDK环境中进行模拟运行测试。
打开Google App Engine Launcher,点击“File/Add Existing Application...",在弹出窗口中选择刚创建的helloworld文件夹:
点击”Add",然后点击“Run",这个Web服务程序将监听8080端口. 你可以在浏览器中输入以下地址进行测试: