Google App Engine 初体验
早就传闻Google App Engine(GAE)的强大,今天体验了一把,非常满意。
用GAE做了2件事,一件是用Cron Jobs建了个定时任务,替代之前的不准时的方案(在指定时间段内,有人访问站点,则会触发一个定时任务,没人访问就杯具了)。
另一件就是众所周知的事,可以随时浏览fb和tw了,不过记得配置下fbcdn.net的规则,否则你看到的是裸奔的facebook了,刚好今天是4月9日CSS裸奔节,也恰到好处了。
使用GAE的简单三步骤:
1. 拥有一个GAE帐号并创建一个应用
到appengine.google.com注册即可,需要手机接收验证码,手机号码前记得加上“+86”,要有国际化意识:)
2. 安装Python环境
Python官网目前的最新版本是2.7.1和3.2,千万不要赶时髦,GAE只支持Python 2.5.2,尽管GAE团队已经在很努力的支持2.6、2.7甚至3.2,至少目前是不行的。遗憾的是,Python官网历史版本的下载页打不开了,只能在其他可信的站点下载Python 2.5.2版本了。傻瓜式安装。
3. 安装GAE环境
到Google Code下载适合你系统的Google App Engine SDK,才十几Mb,一会就好了。同样傻瓜式安装,如果不希望在长长的环境变量中又添加一段,这里的安装路径最好不要太深,免得以后的命令行操作打太多的路径了。
SDK简要说明
我使用的是Python的SDK,在安装路径下可以注意到这么几个文件/文件夹:
- appcfg.py : 部署应用到google。
- dev_appserver.py : 本地开发服务器环境。
- app.yaml: 必需文件,描述此应用所运行的,以及访问地址和对应的处理程序,还可以指定是否需要管理员身份访问。应用程序配置的文档
- index.yaml : 非必需文件,相当于你的数据配置。还没用到,需要的可以看看数据存储区索引配置的文档。
- cron.yaml : 如果需要Cron Jobs服务的话,就要建这个文件,语法很简单,功能很完善,看看Cron计划任务的文档吧。
- new_project_template/ : 标准的app模板,包含app.yaml、index.yaml和py主程序,新建app的话,就直接复制这个文件夹吧。
- demos/ : 里面有个guestbook的例子,可以参照学习下。
常用指令
都在CMD命令行方式下操作。
- appcfg.py update [app文件夹路径] : 上传文件到GAE,有个缓慢的身份验证过程,然后会将制定文件夹下的文件上传,并检测是否可以运行。
- appcfg.py update_cron [app文件夹路径] : 更新Cron Jobs的设置,即上传cron.yaml。
- appcfg.py cron_info [app文件夹路径] : 查看Cron Jobs的执行计划,列出未来5次执行时间。
- dev_appserver.py [app文件夹路径] : 本地调试用,运行后,就可以在浏览器打开http://localhost:8080/调试了,如果在app.yaml中设置了需要管理员权限的话,还会要求先输入Google帐号。
小Tips:想要删除应用可没那么简单了,GAE保证你的应用不会丢失,哪怕你自己想丢失XD。方法也很简单,将文件内容都清空再传一次好了。