来自 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 的数据的主题名称