Select 您希望执行的服务 Google 任务处理程序

Select the service you wish to carry out a Google Task Handler

我是 Google Cloud Platform 的新手,我能够创建应用服务和管理数据库。我正在尝试在 Google Cloud Tasks 中创建一个处理程序(类似于 this documentation.

中的 NodeJS 示例

但是,文档未能清楚地说明如何将部署的服务与请求的服务连接起来。必要性要求我在我的项目中有多个服务(一个在 Node 中用于管理 rest,另一个在 Python 中用于将地理空间数据管理为异步任务)。

我的问题:当 运行 多个服务时,Google Cloud Tasks 如何知道将任务指向哪个服务?

下面的屏幕截图证明我能够向队列请求任务。

我想知道您指的是哪个 "services",因为它始终是当前服务。这些 HTTP 请求基本上是由 HTTP headers HTTP_X_APPENGINE_QUEUENAMEHTTP_X_APPENGINE_TASKNAME 分派的...正如您在带有 sample-taskssome random numbers 的屏幕截图中看到的那样。如果你想给其他服务分配任务,这些服务必须有自己的任务 queue(s).

当为您的任务使用 App Engine 路由时,它会将其路由到 "default" 服务。但是,您可以通过定义 AppEngineRouting, select your service, instance and version, the AppEngineHttpRequest 字段来覆盖它。

sample 显示路由到默认服务的 /log_payload 端点的任务。

const task = {
  appEngineHttpRequest: {
    httpMethod: 'POST',
    relativeUri: '/log_payload',
  },
};

您可以将其更新为:

const task = {
  appEngineHttpRequest: {
    httpMethod: 'POST',
    relativeUri: '/log_payload',
    appEngineRouting: {
      service: 'non-default-service'
    }
  },
};

详细了解 configuring routes