【问题标题】:DynamoDB Supplied AttributeValue is emptyDynamoDB 提供的 AttributeValue 为空
【发布时间】:2013-06-18 13:31:09
【问题描述】:

我正在使用适用于 PHP 2 的最新 AWS 开发工具包。DynamoDB 文档有 2 个不同的页面

Latest DynamoDB

DynamoDB before 2011-12-05

即使我使用的是最新的 SDK,它的行为也类似于“2011 年 12 月 5 日之前的 DynamoDB”。这是我正在使用的导致错误的代码 “错误类型:客户端,AWS 错误消息:提供的 AttributeValue 为空,必须包含完全支持的数据类型之一”

$result = $client->getItem(array(
    'ConsistentRead' => true,
    'TableName' => 'responsys_users',
    'Key'       => array(
        'HashKeyElement' => array(
            'vendor_map_id' => array('N' => '1')
        )
    )
));

我在 API 规范或网上找不到任何有助于解决问题的内容。任何帮助将不胜感激!

【问题讨论】:

  • 好像表中有两个key,而request中只提供了一个
  • 发现问题了。我需要为 AWS SDK 隐式提供最新版本以使用最新版本(和意外行为)。所以我必须在创建客户端时将“apiVersion”设置为“2012-08-10”,否则最新的 SDK 使用的是早期版本的 DynamoDB 客户端

标签: amazon-web-services amazon-dynamodb


【解决方案1】:

您必须在实例化时锁定版本日期才能使用最新版本。我相信 2012-08-10 是最新版本。

【讨论】:

  • 如何锁定版本?
猜你喜欢
  • 1970-01-01
  • 2020-06-26
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多