Rom*_*ain 6 google-app-engine google-cloud-endpoints
我正在开发App Engine应用程序并计划提供API.我想将此API与主站点分开,因此我尝试使用"模块"功能来分离这两个应用程序.主站点将是"默认"模块,API将位于"api"模块中.但是,我遇到了麻烦.
现在我的主应用程序的YAML文件是这样的:
application: my-app
module: default
runtime: python27
api_version: 1
...
handlers:
# Root handler
- url: /.*
script: main.app
secure: always
...
Run Code Online (Sandbox Code Playgroud)
和API模块YAML文件,如下所示:
application: my-app
module: api
runtime: python27
api_version: 1
handlers:
# Endpoints handler
- url: /_ah/spi/.*
script: api_main.app
secure: always
...
Run Code Online (Sandbox Code Playgroud)
在开发服务器上,应用程序在端口8000上提供,API在端口7998上提供.
使用此配置,我的API不起作用.每当我尝试使用localhost:7998/_ah/api/explorer访问它时,我都没有得到任何结果.如果我尝试手动运行API请求,则会收到以下错误:{"error": {"message": "BackendService.getApiConfigs Error"}}.
奇怪的是我在开发服务器日志中也看到以下几行:
INFO 2014-06-15 18:00:32,368 module.py:639] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 -
INFO 2014-06-15 18:00:32,368 module.py:639] api: "GET /_ah/api/my-app/v1/events HTTP/1.1" 500 60
Run Code Online (Sandbox Code Playgroud)
似乎API模块正在尝试将数据POST到默认模块(如第一行日志中所示).
现在,我发现的唯一解决方法是/_ah/spi/.*在默认的YAML文件中添加相同的处理程序,但在这种情况下,主应用程序和API之间的分离无效.
有人能告诉我云端点是否支持我想要实现的配置?非常感谢你!
同样的问题,我能够在可能的诱惑后使其工作:我发现的(唯一)方法是将云端点模块设为默认模块。然后我有:在开发服务器上,两个模块侦听不同的端口,您可以在日志和 xxx.appspot.com 上看到 prot 号:yourprojectid.appspot.com 用于云端点和 modulename-dot-yourprojectid.appspot。 com 用于其他模块
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |