在特定时间更新DynamoDB条目

时间:2018-05-14 07:07:36

标签: amazon-dynamodb

我有一个DynamoDB表,其中每个条目都有时间和状态。我想让DynamoDB在条目的指定时间更新状态。如果不运行服务器,建议的方法是什么?基本上我想让TTL触发自定义lambda而不是删除我的条目,但我不认为这是可能的。

2 个答案:

答案 0 :(得分:0)

您可能希望设置一个AWS cloudwatch事件,该事件根据您决定的计划调用lambda函数。

Lambda函数可以为您更新DynamoDB数据。

只要您可以安排以微小或更慢的间隔发生事情,这将有效 - 即您无法每秒更新一次。

答案 1 :(得分:0)

有几个解决方案。

  • 使用Lambda预定事件(创建具有预定频率的Lambda函数,以便在与TTL匹配时运行并更新状态)。
  • 使用CloudWatch事件触发执行状态更新的Lambda函数。

对于上述两种方法,更新时间取决于Lambda函数执行的频率。

  • 一旦达到指定的TTL,使用DynamoDB TTL触发Lambda函数。此时,您可以更改状态并创建新项目。 (这种方法的局限性在于,DynamoDB最多可能需要48小时才能删除过期的项目,这也可以将状态更改时间延迟到指定的48小时)。