正如问题所述,我有一个dynamoDB设置,我从中获取数据。我的用户端在iOS中配置,因此我使用的是AWS iOS SDK。虽然文档很好,但是它已经过时了很多,并且经过了文档编写,但很多类都被弃用了。
我有两个问题 -
scanforward = false and limit = 1
来完成此操作。现在我从query
调用dynamoDBObjectMapper
方法,但也有加载方法也可以配置为执行相同操作。我的第一个问题是,如果我只需要获取数据库中的最新条目,那么query
和load
之间的区别是什么。另外,检索它的正确方法是什么?DynamoDBStream
,但这不是一个选择。基本上我必须实现一个长轮询类型的功能,我会接到一个电话?无论何时更改任何数据,或者以特定间隔从dynamoDB连续获取数据。我应该使用NSTimer和相同的方法调用(load vs query
)来获取数据库中的最新条目吗?非常感谢任何帮助。此外,如果在亚马逊工作的任何开发人员都可以看到此问题,请从AWS控制台中删除旧文档并保留最新文档。关于同一件事有5个文档,所有这些文档都已过时且已弃用。
答案 0 :(得分:0)
感谢你指出这一点。你能给出已弃用类的文档的链接吗?如果有任何多余的弃用引用,我们将尝试保留最新的并删除。
load()API用于检索项目:使用对象的主键加载数据库中的相应项目。在这里寻找一个例子:http://docs.aws.amazon.com/mobile/sdkforios/developerguide/dynamodb-object-mapper.html在"检索项目"部分。 query()API可用于返回与查询匹配的任意数量的记录。查询API使您可以查询表或二级索引。 要回答您的问题,如果您知道要检索的记录的主键,则可以使用load()API,否则使用query()API。
DynamoDBStreams适用于您的用例。否则,您可以使用DynamoDB表对AWS Lambda进行整合,以进行轮询,这比基于计时器的方法更清晰。这个问题在这里得到了部分答案:Hooks for AWS DynamoDB streams