java put set_Java PutItemRequest.setItem方法代码示例

import com.amazonaws.services.dynamodbv2.model.PutItemRequest; //导入方法依赖的package包/类

public List reindex(T instance) throws DataStoreException {

DynamoClassMapping tableInfo = getClassMapping(instance);

log.debug("reindex {}", instance.getClass().getSimpleName());

ScanRequest scanRequest = new ScanRequest();

scanRequest.setTableName(tableInfo.getDynamoTableName());

// TODO: Filter expressions on prefix?

ScanResult scanResponse = dynamoDB.scan(scanRequest);

Map lastEvaluatedKey = scanResponse.getLastEvaluatedKey();

if (lastEvaluatedKey != null) {

throw new UnsupportedOperationException("Multiple page results not implemented");

}

List items = Lists.newArrayList();

List> responseItems = scanResponse.getItems();

for (Map itemData : responseItems) {

if (!tableInfo.matchesType(itemData)) {

continue;

}

T item = tableInfo.mapFromDb(itemData);

Map newItemData = tableInfo.mapToDb(item);

if (DynamoDbHelpers.areEqual(itemData, newItemData)) {

log.debug("No change for item: {}", itemData);

continue;

}

PutItemRequest putRequest = new PutItemRequest();

putRequest.setTableName(tableInfo.getDynamoTableName());

putRequest.setItem(itemData);

dynamoDB.putItem(putRequest);

Map oldKey = extractKey(itemData);

Map newKey = extractKey(newItemData);

if (!DynamoDbHelpers.areEqual(oldKey, newKey)) {

DeleteItemRequest deleteItemRequest = new DeleteItemRequest();

deleteItemRequest.setTableName(tableInfo.getDynamoTableName());

deleteItemRequest.setKey(oldKey);

dynamoDB.deleteItem(deleteItemRequest);

}

}

return items;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值