AWS PHP SDK问题(DynamoDB)

 手机用户2502899537 发布于 2022-12-15 11:02

最近DynamoDB发布了文档类型(列表或地图).请参阅此处:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModel.DataTypes 或此处:http://www.allthingsdistributed.com/2014/10/document-model-dynamodb html的

现在我试图在DynamoDB中存储以下数组

array("key"=>"value")

我正在使用PHP SDK 2.7.0和2.7.2以及3.0.0 beta(尝试了所有那些解决我的问题,每次相同的问题).我下面的代码存储两个字符串完美的作品:

require ("aws2.7.0/aws-autoloader.php");
use Aws\DynamoDb\DynamoDbClient;
$client = DynamoDbClient::factory(array(
                'key'    => 'KEY',
                'secret' => 'SECRET',
                'region' => 'eu-west-1'
));

$result = $client->putItem(array(
    'TableName' => 'requests-test',
    'Item' => array(
        'messageId'      => array('S' => "test-message1"),
        'data'      => array('S' => "message-data-here"),
        ),
    )
));

现在我试图存储一个简单的数组,其中包含Map数据类型而不是字符串:

require ("aws2.7.0/aws-autoloader.php");
use Aws\DynamoDb\DynamoDbClient;
$client = DynamoDbClient::factory(array(
                'key'    => 'KEY',
                'secret' => 'SECRET',
                'region' => 'eu-west-1'
));

$result = $client->putItem(array(
    'TableName' => 'requests-test',
    'Item' => array(
        'messageId'      => array('S' => "test-message1"),
        'data'      => array('M' => array("key"=>"value")),
        ),
    )
));

这会导致以下错误:

致命错误:未捕获的Aws\DynamoDb\Exception\DynamoDbException:AWS错误代码:SerializationException,状态代码:400,AWS请求ID:8H9URPVBNPCTG4VALA62XXXX3NVV4KQNSO5AEMVJF66Q9ASUAYGX,AWS错误类型:客户端,AWS错误消息:预期为null,User-Agent:aws-sdk-在第91行的/path/aws2.7.0/Aws/Common/Exception/NamespaceExceptionFactory.php中抛出php2/2.7.0 Guzzle/3.9.2 curl/7.36.0 PHP/5.3.28

AWS PHP SDK 2.7.0及更高版本应支持Map和List类型:https://github.com/aws/aws-sdk-php/releases/tag/2.7.0

如何在DynamoDB中存储数组?是否可以使用当前的SDK - 或者他们是否需要发布更新以完全支持这些新数据类型?或者是我的代码中的问题?

我真的很感激任何意见或可能的解决方案.提前致谢!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有