Chr*_*ton 5 aws-cloudformation microservices aws-api-gateway serverless-framework
如果我有两个服务,"用户"和"产品",每个服务都有几个函数,每个函数都为每个函数定义了端点(就像任何传统的API那样),它们是否可以在代码库中单独组织(为清晰起见)但是部署后共享相同的API基本URL?例如,考虑我有以下结构:
/src
-- /users
---- event.json
---- handler.js
---- serverless.yml
-- /products
---- event.json
---- handler.js
---- serverless.yml
Run Code Online (Sandbox Code Playgroud)
我src/users/serverless.yml的定义如下:
functions:
create:
handler: handler.create
events:
- http: POST user
read:
handler: handler.read
events:
- http: GET user
Run Code Online (Sandbox Code Playgroud)
而且我的src/products/serverless.yml基本相同,只是将'用户'换成'产品'.
目前,这两种服务都将部署到截然不同的API端点,一个具有URL https://fghijklmnop.execute-api...,另一个具有URLhttps://abcdevwxyz.execute-api....
我的问题是,是否可以部署这些服务,但仍保留在具有单个URL的单个API下(因此两者都将在URL下提供https://abcdevwxyz.execute-api....)?
我假设答案是'不,因为云形成......',但我想我会在这里发布问题只是为了讨论并帮助我自己理解构建无服务器应用程序.
我知道使用Custom Domains,根据这里的答案,但是为了更快的开发周期,这不是一个理想的解决方案.
到目前为止,我唯一的解决方案是简单地创建一个名为"api"的服务,该服务将包含我的API所需的所有端点,这些端点将直接调用我的其他服务的Lambda函数,而不是通过先前配置的端点.它确实是一个抽象层,但是在我的应用程序中添加了可能不必要的层.再次,好奇地看到社区对此的看法.
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |