我们的API具有以下端点:
POST /users - create a user
GET /users/{userId} - get a particular user
GET /posts/{postId} - get a particular post
GET /posts/{postId}/users - get the users who contributed to this post
我定义了两个服务:users-service和posts-service。在这两个服务中,我像这样定义lambda。我正在使用serverless-domain-manager
插件来创建基本路径映射:
/users-service/serverless.yaml:
service: users-service
provider:
name: aws
runtime: nodejs10.x
stage: dev
plugins:
- serverless-domain-manager
custom:
customDomain:
domainName: 'serverlesstesting.example.com'
basePath: 'users'
stage: ${self:provider.stage}
createRoute53Record: true
functions:
create:
name: userCreate
handler: src/create.handler
events:
- http:
path: /
method: post
get:
name: userGet
handler: src/get.handler
events:
- http:
path: /{userId}
method: get
/rooms-service/serverless.yaml:
service: posts-service
provider:
name: aws
runtime: nodejs10.x
stage: dev
plugins:
- serverless-domain-manager
custom:
customDomain:
domainName: 'serverlesstesting.example.com'
basePath: 'posts'
stage: ${self:provider.stage}
createRoute53Record: true
functions:
get:
name: postsGet
handler: src/get.handler
events:
- http:
path: /{postId}
method: get
getUsersForPost:
handler: userGet ?
events: ??
问题是GET /posts/{postId}/users
实际上从userGet
调用了相同的users-service
lambda。但是,该lambda的来源存在于用户服务而不是后服务中。
所以我的问题变成: 如何使用基本路径映射从另一个服务引用一个服务?换句话说,posts服务是否可以实际调用父自定义域并调用用户基本路径映射及其服务?
答案 0 :(得分:0)