来自 AWS lambda 的内存中查找

Posted

技术标签:

【中文标题】来自 AWS lambda 的内存中查找【英文标题】:In-memory lookup from AWS lambda 【发布时间】:2021-12-03 20:14:44 【问题描述】:

我有一个 AWS API 网关,它将请求转发到 AWS lambda,调用 AWS 个性化获取实时建议。

API 网关在来自客户端(网站)的负载中接收经过哈希处理的客户电子邮件。这个散列的客户电子邮件 ID 需要解析为内部客户 ID(用于训练个性化模型),以便 lambda 可以使用此客户 ID 调用个性化服务。 我计划使用 AWS Elasticache redis 集群进行散列的客户电子邮件>客户 ID 查找。看了文档发现elasticache集群是部署在一个VPC里面的。

那么,为了让 lambda 访问 elasticache redis 集群 - lambda 是否需要附加到此 VPC 上运行? 我了解到 Lambda 会创建一个网络接口来连接到 vpc,这需要几分钟时间。所以在那种情况下,我将无法使用这种方法来服务 API 请求。我的理解正确吗? 是否有更好的方法可以从 AWS lambda 进行内存查找?我需要将 API 网关延迟保持在 300 毫秒以下,并扩展到每分钟 3000 个请求

【问题讨论】:

【参考方案1】:

所以为了让 lambda 访问 elasticache redis 集群 - 确实 lambda 需要附加到此 VPC 上运行

是的,它必须在 VPC 中才能访问 ElastiCache。

我读到 Lambda 创建了一个网络接口来连接到 vpc 最多需要几分钟。所以在那种情况下,我将无法 使用这种方法来处理 API 请求。我的理解正确吗?

VPC 中 Lambda 的冷启动时间is much improved now。

【讨论】:

以上是关于来自 AWS lambda 的内存中查找的主要内容,如果未能解决你的问题,请参考以下文章

AWS lambda 函数-“发生错误:收到来自 Lambda 的错误响应:已处理”

另一个账户中来自 Lambda 的 AWS 跨账户 S3 PutObject

有啥方法可以在 AWS Lambda 中获取 Cognito 用户名?

AWS Lambda - 如何获取来自 AWS IOT 的数据的主题名称

AWS CloudFormation:如何为 Lambda 代码指定来自另一个 AWS 账户的存储桶?

如何在放大中捕获来自 aws cognito pre signup lambda 的错误?