我们是否可以仅使用全局二级索引更新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更新项目。
答案 0 :(得分:5)
不,您无法更新GSI中的项目。您对表中的项进行更改/更新,这些更新将传播到GSI。
答案 1 :(得分:0)
我用于此的解决方法是首先使用文档客户端执行 query
命令,然后从结果中提取分区键,并使用检索到的值作为键调用 update
方法.