在 AWS Lambda 中存储单个值的最佳实践

Best practice to store single value in AWS Lambda

我有一个正在生成并返回值的 Lambda。该值可能会过期。因此我需要在返回之前检查值的有效性。 由于生成非常昂贵(取自另一项服务),我想以某种方式存储该值。

存储这 2 个值(时间戳和对应值)的最佳做法是什么?

此处的最佳做法是什么?性能方面有何发展方向?

对于这种情况,我会使用一些快速的内存数据存储,例如 Redis 或 Memcached:

幸运的是有 Amazon ElastiCache:

它由 Redis 和 Memcached 托管,但您不需要将它用于您的用例 - 您可以在自己的 EC2 上轻松使用 Redis,或者您可以使用外部服务,如 Compose,它也支持内部实例亚马逊数据中心:

有很多方法可以使用它,但我肯定会使用 Redis,尤其是对于像这样的简单情况。

使用DynamoDB. There is no overhead for "running a database" -- it is a fully-managed service. You pay only for storage and provisioned capacity. It sounds like your use-case would fit within the Free Usage Tier

或者,您可以使用具有缓存设置的 API 网关,这样它甚至不会调用 Lambda 函数,除非超时已过。

你可以考虑AWS Parameter Store

AWS Systems Manager Parameter Store provides secure, hierarchical storage for configuration data management and secrets management. You can store data such as passwords, database strings, and license codes as parameter values. You can store values as plain text or encrypted data. You can then reference values by using the unique name that you specified when you created the parameter. Highly scalable, available, and durable, Parameter Store is backed by the AWS Cloud. Parameter Store is offered at no additional charge.

只需为环境变量设置一个值和一个日期。 然后每次执行lambda时检查日期。

https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionConfiguration.html