ios - 如何提取 DynamoDB 表中的第一行?

标签 ios swift amazon-dynamodb aws-sdk

我是第一次使用 (AWS) DynamoDB,所以我的问题很基础。

我已经建立了一个包含一个字段 (theField) 的表 (myTable),并且我可以一次填充一条记录。

这是我想要做的:进行查询以提取已排序表的第一个元素。我想这再简单不过了。

这是我的代码,基于我在 AWS 文档中找到的内容以及来自网络的一些示例:

    let queryExpression = AWSDynamoDBQueryExpression()
    queryExpression.scanIndexForward = false
    queryExpression.limit = 1

    let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()
    dynamoDbObjectMapper.query(myTable.self, expression: queryExpression) {
       (output: AWSDynamoDBPaginatedOutput?, error: Error?) in
        if error != nil {
            print("The request failed. Error: \(String(describing: error))")
        }
        if output != nil {
            // Process the output.
        }
    }

当我运行这段代码时,我收到以下错误消息:

The request failed. Error: Optional(Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=0 "(null)" 
UserInfo={__type=com.amazon.coral.validate#ValidationException, message=Either the KeyConditions or 
KeyConditionExpression parameter must be specified in the request.})

首先这个 KeyConditions 或 KeyConditionExpression 业务是什么? 查询很清楚为什么我需要任何条件?

其次,我当然尝试填充一些虚拟条件(基于我在其他帖子中找到的内容)以查看会发生什么,但它从来没有奏效。

谁能告诉我需要如何编写 queryExpression 才能完成我想做的事情?

最佳答案

您没有查询条件。对于查询,您至少需要提供 PartitionKey。试试 scan而不是查询。

关于ios - 如何提取 DynamoDB 表中的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50053827/

相关文章:

ios - 如何正确设置CABasicAnimation(开始)时间?

ios - 如何使用 8MP 摄像头在 iPhone 设备中捕获 5MP 图像?

ios - 更新 UITextView.text 属性时未调用 textViewDidChange 方法?

ios - 在 Swift 中将协议(protocol)类型作为参数传递

objective-c - 无法通过协议(protocol)设置值

ios - UIButton UIEdgeInsets 不起作用

ios - 如何将 FBProfilePictureView 转换为 UIImage?

node.js - 在 AWS DynamoDB 中按字符串数组查询

performance - 扫描 DynamoDB 表或查询二级全局索引或本地索引(什么是最佳解决方案)

iphone - DynamoDB - 新放置的项目未反射(reflect)在扫描中