AWS ruby sdk v2-dynamodb查询

本·本丁

我在DynamoDB中有一个哈希(字符串)和范围(数字)表。我正在尝试使用ruby SDK v2.0.30运行查询,但始终收到以下错误:

aws-sdk-core-2.0.30/lib/seahorse/client/plugins/raise_response_errors.rb:15:in `call': One or more parameter values were invalid: Condition parameter type does not match schema type (Aws::DynamoDB::Errors::ValidationException)

这是我的代码:

gem 'aws-sdk', '~> 2'
require 'aws-sdk'

dynamodb = Aws::DynamoDB::Client.new(region: 'eu-west-1', credentials: creds)
resp = dynamodb.query(
      table_name: "TEST_TABLE",
      key_conditions: {
        'ID' => {
          comparison_operator: 'EQ',
          attribute_value_list: [{ 's' => 'test123' }]
        }
      })

我是ruby的新手,曾经尝试在在线和AWS文档中进行查找,但找不到任何内容。任何帮助,将不胜感激。

谢谢

特雷弗·罗

您的错误在于如何格式化查询表达式中的哈希键值。适用于Ruby的v2 AWS开发工具包(aws-sdkgem)接受所有属性值作为原始Ruby值。

一个可以是:

  • 数值(整数,浮点数,BigDecimal等)
  • 布尔型
  • IO(blob型)
  • 设置(数值/字符串)
  • 数组(
  • 哈希(String => value

您无需提供v1 AWS SDK for Ruby所需的类型提示。

ddb = Aws::DynamoDB::Client.new
ddb.query({
  table_name: 'TEST_TABLE',
  key_conditions: {
    'ID' => {
      comparison_operattor: 'EQ',
      attribute_value_list: ['test-123']      
    }
  }
})

另外,与您的问题没有直接关系,但是当您通过aws-sdkgem使用DynamoDB时,以下博客系列可能会有所帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Ruby SDK 查询 DynamoDB

AWS Ruby SDK v2,Cloudfront list_distributions,遍历结果

无法使用ruby aws-sdk v2在S3中创建存储桶

使用Ruby查询AWS DynamoDB

AWS Java SDK中DynamoDB v2的迁移详细信息?

AWS DynamoDB v2:对于替代查询,我是否需要二级索引?

如何将DynamoDB Local与AWS Ruby SDK结合使用?

AWS DynamoDB加密-Ruby

使用AWS Java SDK v2从AWS EKS获取身份验证令牌

AWS Javascript SDK v3 中的 S3 getSignedUrl v2 等效项

如何使用 AWS SDK for Go v2 删除非空 S3 存储桶

如何使用 AWS SDK V2 为 Amazon S3 配置终端节点?

如何使用 AWS golang v2 SDK 配置 S3ForcePathStyle?

出现AWS-SDK(v2)safe_define_method错误

AWS iOS SDK v2文件上传到S3问题

如何使用AWS iOS SDK v2将UIImage上传到S3

使用aws-sdk v2将图像上传到S3

在 AWS SDK for Java v2 上添加 Gradle 依赖项

如何通过PHP v2 SDK从AWS CloudSearch请求构面?

如何使用 AWS S3 C++ SDK 将签名设置为 v2

ses.sendCustomVerificationEmail 不是使用 AWS JavaScript SDK v2 的函数

使用aws-sdk-v1在ruby脚本中从AWS SSM参数存储获取数据

我如何对AWS-SDK-GO-V2 DYNAMODB实施进行单元测试

使用AWS开发工具包v2将DynamoDB转换为Elasticsearch?

文件中的AWS Ruby SDK凭据

在Watson Assistant V2中对任何查询获得相同的响应:Watson-Unity-SDK

有没有办法通过 AWS Java SDK v2 检查 S3Client 的区域?

在Scala中使用AWS Java SDK V2时,更好的处理异步调用的方法吗?

为什么 AWS SDK for Java v2 不允许我发送大于 10 MB 的电子邮件?