appspot.com由于url路由规则,结果应用程序的命名与您提到的命名略有不同。从通过URL路由:
将请求发送到命名服务默认版本的可用实例:
https://service-dot-app-id.appspot.comhttp://service.my-custom-domain.com
因此,假设您的服务已命名
python,
java而您的应用程序已命名,
app则您的
appspot.comURL为:
python-dot-app.appspot.comjava-dot-app.appspot.com
但是您可以根据需要使用自定义域将它们映射。
至于构建这样的应用程序:
请记住,其中一项服务 需要 我命名
default
(或保持未命名)为每个服务创建应用子目录(以下是在文档中不再找到但在Google App Engine应用程序中的默认服务/模块可以作为非同类产品的同级产品中找到的曾经被推荐的多服务应用程序结构图)默认的文件夹结构之一?)
将每个服务代码的全部内容复制到相应的子目录中
识别应用程序级配置文件(
cron.yaml
,dispatch.yaml
,queue.yaml
和index.yaml
在应用级目录或它们的Java等价物),你必须和移动它们的上一级,(你可能需要合并他们,如果这样的配置文件存在于两个服务)。您可能需要为这些文件选择一种语言,我会选择python。Cron作业需要配置目标(请参阅Cron作业定义中的target
行)。
请记住,部署一个/所有模块 可能 不一定像您习惯的那样更新这些文件,而是可能需要显式部署它们-
请查看相应的服务配置文档。在部署服务时,您应格外注意可能会覆盖这些配置,您可能需要提出特定的部署顺序。
- 添加
dispatch.yaml
文件并重新访问/调整服务的请求路径名称空间,以确保将每个请求正确地定向到各自的服务,可能是一个好主意(可能是强制性的)。cron作业特别注意,从Cron作业定义的target
行开始:
如果使用调度文件,则可能会重新路由您的作业。例如,给定以下
cron.yaml* 和 dispatch.yaml 文件,即使作业的目标是 module1 ,该作业也将在
module2中 运行: *# cron.yamlcron:- description: "test dispatch vs target" url: /tasks/hello_module2 schedule: every 1 mins target: module1# dispatch.yaml:dispatch:- url: '*/tasks/hello_module2' module: module2
https://cloud.google.com/appengine/docs/python/config/cronref#cron_job_definitions
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)