Aws lambda Dynamo DB:通过lambda函数创建表时插入数据

Aws lambda Dynamo DB:通过lambda函数创建表时插入数据,aws-lambda,amazon-dynamodb,Aws Lambda,Amazon Dynamodb,我有一个lambda函数,用于创建DynamoDB表 我有一个需求,在创建表之后,我需要在这个表中插入一些数据 在DynamoDB中,createtable是一个异步调用。创建表格时,表格处于“创建”状态,之后进入“活动”状态 挑战在于,我无法在此表中插入数据,直到它不处于的“活动”状态,并且我获得ResourceNotFoundException异常 是否有任何方法可以在创建表时将此数据插入表中 我想在同一个Lambda函数调用中完成表的创建和数据插入。正如您所发现的,您只能写入活动(/cre

我有一个lambda函数,用于创建DynamoDB表

我有一个需求,在创建表之后,我需要在这个表中插入一些数据

在DynamoDB中,createtable是一个异步调用。创建表格时,表格处于“创建”状态,之后进入“活动”状态

挑战在于,我无法在此表中插入数据,直到它不处于
的“活动”
状态,并且我获得
ResourceNotFoundException
异常

是否有任何方法可以在创建表时将此数据插入表中


我想在同一个Lambda函数调用中完成表的创建和数据插入。

正如您所发现的,您只能写入活动(/created)表,并且无法使用提供数据来“预加载”表

当表准备就绪时,不会为发出任何事件。因此,您必须进行轮询,直到表变为活动状态。这应该在lambda中很容易实现,因为DynamoDB很少需要超过30-60秒来提供一个表

创建表后,您可以每秒(大约)调用一次,直到它返回
table.TableStatus===“ACTIVE”
。一旦表格状态变为活动状态,您就可以插入初始数据。请记住将Lambda超时时间增加到15分钟,以防AWS需要更长的时间来设置表


您可以在.

中看到一个例子,您使用的是哪种运行时/编程语言?是否有更好的方法从另一个Lambda函数处理此问题?在我的情况下,每秒在同一个lambda函数中轮询30秒左右不是一个好主意,因为lambda函数需要同步发回响应。没有事件(例如,不能像使用某些服务那样在CloudTrail上调用)来完成。如果需要返回,可以调用第二个函数,从第一个函数开始进行等待。谢谢,这种方法很有效。我调用了另一个lambda函数,在该函数中,我每10秒轮询一次以检查表状态是否为“活动”。表格状态为“活动”后,我将数据插入新表格。