php - unmarshalItem DynamoDB 和 PHP 不工作

标签 php amazon-dynamodb unmarshalling

我想解码 dynamodb 扫描查询响应,这是我的代码

$client = $this->getClient();
        $result = $client->scan([
            'ExpressionAttributeValues' => [
                ':v1' => [
                    'S' => "200",
                ],
            ],
            'FilterExpression' => 'id = :v1',
            'ProjectionExpression' => "entryStamp",
            'TableName' => $this->table,
        ]);
        return $this->unmarshalItem($result['Items']);

它返回错误“意外的类型:entryStamp。”

最佳答案

我自己正在搜索这个,目前似乎不可能。

我没有找到任何关于 PHP 的特别信息,但是 this thread用 GO 描述完全相同的问题。

所以最好的办法就是按照 Saurabh 在他的评论中建议的去做:

$result = $this->client->query($params); 

$data = [];
foreach( $result['Items'] as $item)
{
    $data[] = $marshaler->unmarshalItem($item);
}

return $data;

关于php - unmarshalItem DynamoDB 和 PHP 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47974789/

相关文章:

php - Laravel 5在多个级别上 Eloquent 地将关系附加到JSON

PHP:比较子字符串

javascript - 解析 DynamoDB 请求

python-3.x - DynamoDB 扫描未返回所需的输出

java - JAXB 如何在解码中强制执行特定顺序

xml - 如何获取XML字符串中的 '<'和 '>'?

java - 编码和解码结果集 : Dealing with empty strings

php - 如何在我的开发服务器上启用通知

php - 你如何将 php session 数据传递给 socket.io?

amazon-web-services - DynamoDB : Query for range key in a set of non-sequential range keys