如何用Google Appengine上传应用程序
App Engine SDK 包括用于上传应用程序文件的命令。与 SDK 的其余部分一样,appcfg.py 可在装有 Python 2.5(或其它) 的任何计算机上运行。
要上传应用程序文件,请通过 update 操作和应用程序根目录的名称运行 appcfg.py 命令。根目录应包含应用程序的 app.yaml 文件。
appcfg.py update myapp/appcfg.py 将从 app.yaml 文件获得应用程序 ID,并提示您提供 Google 帐户的电子邮件地址和密码。使用您的帐户成功登录后,appcfg.py 将存储一个"cookie"以便在后续尝试时不需要提示输入密码。
要在提示时进行保存,可以使用 --email 选项在命令行上指定电子邮件地址。不能将密码指定为命令行选项。
appcfg.py --email=example@example.com update myapp/appcfg.py 选项
appcfg.py 命令包含一组选项、一个操作和该操作的参数。
包含以下操作:
appcfg.py [options] update <app-directory>
为给定了应用程序的根目录的应用程序上传文件。应用程序 ID 和版本从应用程序目录中的 app.yaml 文件获取。
appcfg.py [options] rollback <app-directory>
撤消给定应用程序的部分完成的更新。如果更新中断并且命令报告由于锁定而无法更新应用程序,则可以使用此操作。
appcfg.py [options] vacuum_indexes <app-directory>
删除 App Engine 中不使用的数据库索引。如果从 index.yaml 中删除某索引定义,则当上传应用程序时,该索引不会被自动删除,因为它可能正被另一版本的应用程序使用。当不再需要所有旧索引时执行此操作。
appcfg.py help <action>
打印有关给定操作的帮助消息,然后退出。
appcfg.py 命令接受以下适用于所有操作的选项:
--quiet
成功时不打印消息。
--verbose
打印有关命令正在执行的操作的消息。
--noisy
打印许多有关命令要执行的操作的消息。当与 App Engine 团队协作来解决上传问题时,此选项通常很有用。
--email=...
应用程序管理员的 Google 帐户的电子邮件地址,适用于需要登录的操作。如果 cookie 被遗漏且以前使用该命令时未存储 cookie,则该命令将提示输入该值。
--server=...
App Engine 服务器主机名。默认为 appengine.google.com。
--host=...
用于与远程程序调用配合使用的本地计算机的主机名。
--no_cookies
请勿将管理员登录凭证存储为 cookie;每次登录时都提示输入密码。
--force
强制删除不使用的索引。默认情况下,上传应用程序不会从服务器中删除不使用的索引,即使这些索引未显示在 index.yaml 文件中。
--max_size=...
要上传的文件的最大大小,表示为字节数。不会上传大于该大小的文件。默认为 1048576。服务器当前将文件的最大大小强制定为 1,048,576 个字节,因此增加该值没有任何作用。
appcfg.py 和 HTTP 代理
如果您在 HTTP 代理后运行 appcfg.py,则必须告知 appcfy.py 该代理的名称。要为 appcfg.py 设置 HTTP 代理,请设置 http_proxy 环境变量。例如,在 bash shell 中:
export http_proxy="http://cache.mycompany.com:3128"
appcfg.py update myapp
appcfg.py和SSL(HTTPS)
SDK工具默认在登陆账户的情况下(appcfg,remote_api,appengine_rpc)都使用SSL来加密传输您的电子邮件地址和密码。此外,appcfg在连接控制台时默认启用SSL连接来加密,除非使用--insecure
标志。
________________________________________________________________________________________
2010年6月15日更新:由于国内使用SSL连接上传程序会被TCP重置导致上传失败,这时你只需在原来的命令行中添加--insecure
标志即可。例如:
appcfg.py update myapp --insecure
转载请以超链接注明来自 云在天边看世界本文永久链接 http://www.tangblog.info/2009/09/1/Google_Appengine_upload.html