【问题标题】:AWS Lambda access data refresh hourlyAWS Lambda 访问数据每小时刷新一次
【发布时间】:2021-11-07 14:26:42
【问题描述】:

我的 AWS Lambda 函数需要访问每小时更新的数据,并且将通过 api 经常调用。什么是最有效和最便宜的方法?

已经每小时更新的数据是通过Lambda批处理配置的,但是我不知道这些数据存储在哪里。

是否每次都将最新的数据放入 Amazon S3 的最新存储桶中?或者,即使热分区出现问题,由于访问简单,将其存储在 Amazon DynamoDB 中如何?我考虑了网关缓存,它每小时更新一次,但要付出代价。请指教。

【问题讨论】:

  • 您需要更详细地描述数据的样子。它有多大?您如何准确地访问它(例如通过某种查询,或者只是将整个内容加载到 Lambda 函数的内存中?)。不花钱是硬性要求吗?

标签: amazon-web-services amazon-s3 aws-lambda amazon-dynamodb


【解决方案1】:

正如您提到的“最便宜的方式”,我建议使用 Amazon DynamoDB,因为 25GB 的空间是免费的(始终不是免费层)。现在,如果您的数据大小超过 25GB,那么您也可以将 DynamoDB 用于其他服务,例如 RDS 或 S3,但需要付费。

【讨论】:

  • 感谢您的好回答。如果 lambda 可以访问一个项目一小时,这是最好的方法吗?我担心它会成为一个热分区。
  • @DK2 访问一个小时是什么意思?访问它多少次,数据有多大?我不会真正关心热分区,因为在那之前你会用完 RCU。只是为了比较,热分区将被限制为 3000 RCU,免费层为您提供 10 RCU。
【解决方案2】:

最简单的选择是使用AWS Systems Manager Parameter Store。它通过 IAM 保护,是在 AWS Lambda 函数之间共享参数的好方法。

如果您的数据太大而无法存储在 Parameter Store 中,请考虑将其存储在 Amazon S3 中。它易于访问且成本低廉。

如果使用这些服务有问题,那么您可以考虑使用数据库,但您的问题中没有足够的信息提出适当的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2016-08-31
    • 2013-04-22
    • 2022-10-31
    相关资源
    最近更新 更多