【问题标题】:DynamoDB AWS best way to retrieve data in a recurring wayDynamoDB AWS 以重复方式检索数据的最佳方式
【发布时间】:2017-07-01 14:54:24
【问题描述】:

因此,正如问题所述,我有一个 dynamoDB 设置,我从中获取数据。我的用户端是在 iOS 中配置的,因此我使用的是 AWS iOS 开发工具包。虽然文档没问题,但它已经过时了很多,并且通过文档,许多类已被弃用。

我有 2 个问题 -

  1. 我必须始终从数据库中获取最新条目,所以我通过设置 scanforward = false and limit = 1 来做到这一点。现在我从dynamoDBObjectMapper 调用query 方法,但也有加载方法也可以配置为执行相同的操作。我的第一个问题是,如果我必须只获取数据库中的最新条目,queryload 之间有什么区别。还有什么是检索它的正确方法?
  2. 我必须尽可能以最即时的方式获取这些数据。我知道DynamoDBStream,但这不是一个选择。基本上我必须实现一种长轮询的功能,我会在哪里接到电话?每当更改任何数据或以特定时间间隔从 dynamoDB 连续获取数据时。我应该使用 NSTimer 和相同的方法调用 (load vs query) 来获取数据库中的最新条目吗?

非常感谢任何帮助。此外,如果任何在亚马逊工作的开发人员可以看到这个问题,请从 AWS 控制台中删除旧文档并保留最新文档。关于同一件事有 5 个文档,所有这些文档都已过时且已弃用。

【问题讨论】:

    标签: ios amazon-web-services amazon-dynamodb


    【解决方案1】:

    感谢您指出这一点。您能否提供已弃用类的文档的链接?如果有任何多余的弃用引用,我们将尽量保留最新的并删除。

    1. load() API 用于检索项目:使用对象的主键从数据库中加载相应的项目。在此处查找示例:http://docs.aws.amazon.com/mobile/sdkforios/developerguide/dynamodb-object-mapper.html 在“检索项目”部分下。 query() API 可用于返回与查询匹配的任意数量的记录。查询 API 使您能够查询表或二级索引。 要回答您的问题,如果您知道要检索的记录的主键,则可以使用 load() API,否则使用 query() API。

    2. DynamoDBStreams 非常适合您的用例。否则,您可以将 AWS Lambda 与 DynamoDB 表集成以进行轮询,这将比基于计时器的方法更干净。这个问题在这里得到了部分回答:Hooks for AWS DynamoDB streams

    【讨论】:

    • 嗨,我现在遇到了 AWS 的另一个问题,我遵循了 AWS cognito 文档,但现在我想合并用户池。请首先告诉我:我使用哪个框架?我使用 cocoapods,但使用它,我无法从应用程序登录我的控制台创建的用户。同样来自 cocoapods 的框架,TokenID 不是持久的。登录的委托总是被调用,即使在我已经登录之后。我知道有一些静态库可用于移动 HUB,但它们遵循一组不同的类。我应该先去哪一个?
    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2013-07-29
    • 2016-04-26
    • 1970-01-01
    相关资源
    最近更新 更多