RTF*_*RTF 2 amazon-web-services amazon-dynamodb
在使用全局二级索引的值作为条件表达式的同时,是否可以批量写入 DynamoDB(使用 Java SDK v1.11.1 和文档 API)?
例如,我想发出一个批量更新请求,该请求将更新 GSIMyIndex等于某个值的任何项目的属性 A、B 和 C。
这是可能的,还是我必须对 GSI 进行查询并使用生成的主键进行批量写入?
几样东西:
我会做这样的事情:
// Get keys from GSI
dynamodb.query({
IndexName: 'index',
TableName: 'table',
KeyConditionExpression: 'some expression',
}, (error, rows) =>
// Spin up a bunch of update requests
Promise.all(rows.Items.map((row) => dynamodb.update({
ExpressionAttributeValues: {
':aVal': 'new value for a',
':bVal': 'etc',
':cVal': 'etc',
},
IndexName: 'index',
Key: {
primaryKey: row.primaryKey,
},
KeyConditionExpression: 'primaryKey = :primKey',
UpdateExpression: 'set a = :aVal, b = :bVal, c = :cVal',
}).promise())));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5785 次 |
| 最近记录: |