Kuberski - 酷伯司机

写在代码边上
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

在appengine服务器使用SDK内置console

Posted on 2009-11-02 10:40  kuber  阅读(1400)  评论(0编辑  收藏  举报
本地开发appengine 的时候可以使用SDK内置的console (http://localhost:8080/_ah/admin) , 里面有一个交互式的python shell,  在product 环境下没有类似的工具. 有时候要写些小的实验代码, 或者检查/修改运行时参数/变量非常需要一个简单的shell. 于是网上有人开发了一个开源的"Google App Engine Console".  

其实服务器端的GAE SDK也包括了一套和客户端一样的console, 只是出于安全考虑缺省情况下没有打开(enable). 要在服务器端使用内置console, 可以在app.yml中加入以下代码:
- url: /admin/.* 
  script: $PYTHON_LIB/google/appengine/ext/admin 
  login: admin

上传到服务器后你就可以在这个地址使用console了: http://yourapp.appsot.com/admin. 从以下的截图可以看到其界面和客户端的界面一模一样. 我猜是因为服务器端的runtime应该和开发SDK的是一样的吧. 除了交互式shell 以外, 还可以查看memcache的统计信息,优化的时候挺有用. 至于其它Task Queues, XMPP和Inbound Mail 我还没有用到, 就不知道了.

在console中, 用户有完全的权限,不仅可以操作你的数据, 还可以修改你的运行代码. 为了你的应用程序的安全, 除了设为admin才能访问(login: admin), 也建议你修改url, 把"/admin/.*" 改成只有你自己知道的一个地址, 这样人家就不能猜到你的url了.