Dynamodb updateitem仅适用于全局二级索引

时间:2015-08-11 13:30:55

标签: amazon-dynamodb bigdata nosql

我们是否可以仅使用全局二级索引更新dynamodb项目?

$response = $dynamodbClient->updateItem(array(
            'TableName' => 'feed',
            'Key' => array(
                'feed_guid'      => array('S' => 'ac1e9683832ad2923f0bd84b91f34381'),
                'created_date'   => array('N' => '1439295833'),
            ),
            "ExpressionAttributeValues" =>  array (
                    ":val1" => array('N' => '1')
                ) ,
            "UpdateExpression" => $updateExpression,  
            'ReturnValues' => 'ALL_NEW'
        ));

在上面的代码中,我想替换密钥部分并使用全局二级索引即user_id更新项目。

2 个答案:

答案 0 :(得分:5)

不,您无法更新GSI中的项目。您对表中的项进行更改/更新,这些更新将传播到GSI。

答案 1 :(得分:0)

我用于此的解决方法是首先使用文档客户端执行 query 命令,然后从结果中提取分区键,并使用检索到的值作为键调用 update 方法.