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

cvo*_*igt 8 amazon-s3 amazon-web-services amazon-dynamodb aws-lambda serverless

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

存储这两个值(时间戳和相应值)的最佳实践是什么?

  • DynamoDB,但使用2个值的数据库服务似乎是很多开销.永远不会有更多的物品; 相同的条目只会更新.
  • 我想过S3,但是这也意味着创建一个S3-Bucket并存储一个包含信息的对象,仅用于这两个值(但可能是最"瘦"的方式?)
  • 很想更新Lambdas配置以更新环境变量(但即使这是可能的,它可能没有最佳实践?!也不确定与Lambda运行时的不一致...)

什么是最佳做法?什么是性能方面?

Joh*_*ein 11

使用DynamoDB."运行数据库"没有任何开销 - 它是一个完全托管的服务.您只需为存储和配置容量付费.听起来你的用例适合免费使用套餐.

或者,您可以将API网关与缓存设置一起使用,这样除非超时已超出,否则它甚至不会调用Lambda函数.

  • 坦率地说,这些天我会先使用 Parameter Store,然后再使用 DynamoDB。如果需要高吞吐量,“高级参数”可提供每秒 1000 次 API 调用。 (3认同)

F_S*_*O_K 6

您可以考虑使用AWS参数存储

AWS Systems Manager参数存储为配置数据管理和秘密管理提供安全的分层存储。您可以将密码,数据库字符串和许可证代码等数据存储为参数值。您可以将值存储为纯文本或加密数据。然后,可以使用在创建参数时指定的唯一名称来引用值。高度可扩展,可用且持久的参数存储由AWS云支持。参数存储免费提供。