我知道有API网关,AWS放大控制台用于重写和重定向,但是,我正在寻找一个可以解析请求体然后充当反向代理的服务。
手头的问题-我们有支付网关(PG),允许我们只配置两个webhook(一个用于生产,一个用于UAT/staging),但我们需要另一个webhook用于预生产,因此考虑使用第二个webhook插槽作为反向代理服务器。并在请求体JSON解析后,将来自PG的传入请求重定向到适当的配置路径。JSON可以嵌套到任何级别。
例如:
{
"payment": {
"env": "staging"
}
}
**Configuration** - if $payment.env == "staging", redirect to https://example.com/staging/url
是否有一种AWS服务允许为不同的请求体配置不同的路径?
可以将AWS API网关和AWS lambda一起用于此目的吗?我找不到任何代码样本,最好是ruby或python。有人能举个例子吗?
我们能够在AWS Lambda中为每个支付网关(PG)编写自定义代码后完成此任务。下面是我们所做的:
- 除生产外,我们将环境
('uat', 'pre-prod', 'dev')
附加到现有的唯一属性中。并将每个付款请求发送给带有此属性的PG。 与AWSλ - 每个PG配置脚本的回调URL。
- PG总是在每个回调请求中发送唯一属性和请求体中的环境。
- Lambda脚本解析请求体,请求适当的源服务器并响应回PG。