我有一个在Google App Engine中运行的应用程序。
首先,应用程序可以使用:
运行dev_appserver.py app.yaml
其中app.yaml
包含字段application
,用于使用google.appengine.api.app_identity.get_application_id()
检索项目ID。
稍后删除了dev_appserver.py
命令,可以使用以下命令运行应用程序:
gcloud preview app run app.yaml
运行此操作会产生警告,指出application
中指定app.yaml
已弃用。
现在app run
已被弃用,支持现已恢复的dev_appserver.py
。这是否意味着我应该还原application
中的app.yaml
字段?
如果我运行gcloud config list
,它仍会显示正确的项目ID,但如果未设置google.appengine.api.app_identity.get_application_id()
,则调用None
会返回application
。
答案 0 :(得分:2)
application
配置文件中的.yaml
属性得到了很好的支持,实际上它已经被支持了
存在于Modules documentation中的所有模块配置文件示例中。
使用application
属性指定应用程序名称可能比使用某些/所有相关实用程序的强制-A <APP_ID
命令行参数更不容易出错。
尝试上传模块配置文件,其中application
字段已注释掉:
appcfg.py: error: Expected -A app_id when application property in file main.yaml is not set.
我将其解释为建议在模块的application
文件中使用.yaml
属性是默认/首选方法。
FWIW,application
属性也适用于其他配置文件 - 我在多模块应用中添加dispatch.yaml
路由时遇到了一些问题,通过添加application
解决了dispatch.yaml
文件的属性。我不记得确切的细节了。
答案 1 :(得分:0)
更新:app.yaml reference现在说application
属性已被弃用,您应该使用-A
的{{1}}选项。