通过 API 网关引导所有入站请求
Bootstrapping all inbound requests via API gateway
这看起来像是一个 interesting/odd 请求,但我想知道是否有一种方法可以教 API 网关响应所有请求,作为 bootstrap/route 管理器API层?基本上所有请求即。 /getUser、/getLocation、/getManager 可以写成一个 API 网关端点规则吗?
想法是这样的...所有 GET 请求,无论 API 上的路径如何,都会被路由到 Lambda 函数,该函数解析请求并调用适当的委托函数。
将为 POST、DELETE 和 PUT 设置类似的规则。所以基本上 API 网关只有 4-5 个注册点,它们都映射到同一个 Lambda 函数。
我正在对不同的 patterns/approaches 网关使用情况进行一些早期研究,想知道是否可以考虑这样的因素。这有优点也有缺点,但我只想知道是否可以这样编写脚本。
谢谢。
您可以将请求路径参数与 API 网关一起使用。
您可以创建多个像这样的端点:
GET /{param1}
GET /{param1}/{param2}
GET /{param1}/{param2}/{param3}
这些端点应匹配任何具有最多 3 个路径参数的 url。它们可以配置为调用相同的 Lambda。
在集成请求配置中,我们可以使用类似这样的映射模板(我们可以从 body、查询字符串和 header 添加数据...):
{
"endpoint": {
"path": "/$input.params('param1')/$input.params('param2')/$input.params('param3')",
"method": "$context.httpMethod"
}
}
然后在lambda事件中,我们就可以知道HTTP方法和资源路径,并执行相应的代码部分。
优势 是更频繁地使用相同的 lambda 并提高其平均性能。实际上,如果您连续调用 lambda,chances are that AWS re-use the same container to execute it 并且您不需要时间 "warm it up"。更频繁地使用相同的 lambda 应该根据执行频率减少 "warm up" 的比例。
一个缺点是放松使用Lambda的"microservice"方面,因为您的所有应用程序将只嵌入一个拉姆达。当然,另一个缺点是您将不得不 编码路由规则并在 Lambda.
中执行它们
这看起来像是一个 interesting/odd 请求,但我想知道是否有一种方法可以教 API 网关响应所有请求,作为 bootstrap/route 管理器API层?基本上所有请求即。 /getUser、/getLocation、/getManager 可以写成一个 API 网关端点规则吗?
想法是这样的...所有 GET 请求,无论 API 上的路径如何,都会被路由到 Lambda 函数,该函数解析请求并调用适当的委托函数。
将为 POST、DELETE 和 PUT 设置类似的规则。所以基本上 API 网关只有 4-5 个注册点,它们都映射到同一个 Lambda 函数。
我正在对不同的 patterns/approaches 网关使用情况进行一些早期研究,想知道是否可以考虑这样的因素。这有优点也有缺点,但我只想知道是否可以这样编写脚本。
谢谢。
您可以将请求路径参数与 API 网关一起使用。
您可以创建多个像这样的端点:
GET /{param1}
GET /{param1}/{param2}
GET /{param1}/{param2}/{param3}
这些端点应匹配任何具有最多 3 个路径参数的 url。它们可以配置为调用相同的 Lambda。
在集成请求配置中,我们可以使用类似这样的映射模板(我们可以从 body、查询字符串和 header 添加数据...):
{
"endpoint": {
"path": "/$input.params('param1')/$input.params('param2')/$input.params('param3')",
"method": "$context.httpMethod"
}
}
然后在lambda事件中,我们就可以知道HTTP方法和资源路径,并执行相应的代码部分。
优势 是更频繁地使用相同的 lambda 并提高其平均性能。实际上,如果您连续调用 lambda,chances are that AWS re-use the same container to execute it 并且您不需要时间 "warm it up"。更频繁地使用相同的 lambda 应该根据执行频率减少 "warm up" 的比例。
一个缺点是放松使用Lambda的"microservice"方面,因为您的所有应用程序将只嵌入一个拉姆达。当然,另一个缺点是您将不得不 编码路由规则并在 Lambda.
中执行它们