首页 > 解决方案 > AWS - 为每个 API 调用常见任务 Lambda

问题描述

我们需要为应用程序编写自定义日志,以捕获诸如谁在何时做了什么等事情。

为此,我们创建了一个 Lambda 以将日志插入 DynamoDb 数据库。每次我们从应用程序的前端调用 API 时,我们都需要从一个公共位置调用这个 Lambda,而不是在每个单独的 lambda 中调用它。

我们尝试在 API 网关授权器中调用它,但它不起作用,因为我们的网关授权器是“令牌”类型。因此,它不接受访问令牌以外的任何其他参数。我们无法将自定义授权方的类型更改为“请求”类型,因为我们需要存在访问令牌才能在 Cognito 中授权用户。问题:是否有任何地方可以调用此 Logs Lambda,以便在调用每个 API 时执行它?

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


尝试使用不同的事件触发器。如果您的 lambda 可以由队列或云端触发,您将不​​会遇到授权问题。但是,您的应用程序必须承担适当的角色才能使用其中的一些。如果您使用 Java,您可以通过多种方式拦截您的请求,并在处理 API 之前通过 SDK 进行 lambda 调用。需要更多细节来提供整体解决方案。


推荐阅读