Skip to main content
 首页 » 编程设计

python之如何在 GAE 中配置后端

2025年05月04日8cloudgamer

我似乎缺少一些基本的东西。我将一个 backends.yaml 文件添加到我的应用程序在我的开发环境中所在的目录中。该文件包含以下内容:

backends: 
- name: reporting 
  class: B8 
  options: dynamic public 

我已部署,但管理控制台显示我没有配置任何后端。我试过像这样使用 appcfg.py:

appcfg.py backends ~/work/google/myappfolder list 

它说:

No backends configured for app: {my app name}. 

documentation说:

appcfg backends <dir> list 
Lists all the backends configured for the app specified in dir/app.yaml. 

app.yaml 是错字吗?或者我的问题是我应该在 app.yaml 中添加一些东西?我在其他任何地方都没有提到这一点。

此外,一些文档说您必须手动启动所有后端,但其他部分说“动态”后端不需要从命令行启动——它们会自动启动。是哪个?

Alex 在评论中回答了这个问题。以下是要点:

  1. 您必须执行 appcfg.py backends dir update 才能让事情顺利进行
  2. 每次更新代码时都必须再次执行此操作(单击启动器程序中的部署按钮不会更新后端!)
  3. 文档中的 app.yaml 是一个拼写错误
  4. 您不需要从命令行启动动态后端;它们会自动启动
  5. 日志对调试后端问题毫无用处;不要假设日志中缺少信息就意味着什么
  6. 如果有多个选项,用逗号分隔

请您参考如下方法:

您真的通过命令行启动了后端吗?

 appcfg backends <dir> start <backend> 

Sets the backend state to START, allowing it to receive HTTP requests. Resident backends start immediately. Dynamic backends do not start until the first user request arrives. Has no effect if the backend was already started.

所以是的,您确实需要这样做,然后它才能像您一样在动态实例上提供服务。

https://developers.google.com/appengine/docs/python/backends/overview#Commands

此外,您是否通过了 --backends 以在 dev_appserver.py 中启用后端支持?