本文整理汇总了Java中com.amazonaws.services.dynamodbv2.model.DeleteRequest类的典型用法代码示例。如果您正苦于以下问题:Java DeleteRequest类的具体用法?Java DeleteRequest怎么用?Java DeleteRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DeleteRequest类属于com.amazonaws.services.dynamodbv2.model包,在下文中一共展示了DeleteRequest类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: deleteAll
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
@Override
public <P extends ParaObject> void deleteAll(String appid, List<P> objects) {
if (objects == null || objects.isEmpty() || StringUtils.isBlank(appid)) {
return;
}
List<WriteRequest> reqs = new ArrayList<>(objects.size());
for (ParaObject object : objects) {
if (object != null) {
reqs.add(new WriteRequest().withDeleteRequest(new DeleteRequest().
withKey(Collections.singletonMap(Config._KEY,
new AttributeValue(getKeyForAppid(object.getId(), appid))))));
}
}
batchWrite(Collections.singletonMap(getTableNameForAppid(appid), reqs));
logger.debug("DAO.deleteAll() {}", objects.size());
}
开发者ID:Erudika,项目名称:para,代码行数:18,代码来源:AWSDynamoDAO.java
示例2: addDeleteRequest
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
protected int addDeleteRequest(AttributeValue tableHashKey, AttributeValue tableRangeKey) {
Map<String, AttributeValue> primaryKey = genTablePrimaryKey(tableHashKey, tableRangeKey);
batchDeleteRequests.add(new WriteRequest().withDeleteRequest(new DeleteRequest().withKey(primaryKey)));
int deletedItems = 0;
if (batchDeleteRequests.size() == MAX_BATCH_WRITE_REQUEST_NUM) {
deletedItems = sendDeleteRequests();
}
return deletedItems;
}
开发者ID:awslabs,项目名称:dynamodb-online-index-violation-detector,代码行数:10,代码来源:TableWriter.java
示例3: deleteForJob
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
/**
* @{inheritDoc
*/
@Override
public void deleteForJob(final String tableName, final String jobId, final boolean asynch) {
Runnable task = new Runnable() {
public void run() {
MethodTimer mt = new MethodTimer(logger, this.getClass(), "deleteForJob (" + jobId + ")");
List<Item> items = getItems(tableName, null, null, null, jobId);
if (!items.isEmpty()) {
List<WriteRequest> requests = new ArrayList<WriteRequest>();
try {
for (Item item : items) {
String id = null;
for (Attribute attr : item.getAttributes()) {
if (DatabaseKeys.REQUEST_NAME_KEY.getShortKey().equals(attr.getName())) {
id = attr.getValue();
break;
}
}
if (id != null) {
Map<String, AttributeValue> keyMap = new HashMap<String, AttributeValue>();
keyMap.put(DatabaseKeys.REQUEST_NAME_KEY.getShortKey(), new AttributeValue().withS(id));
keyMap.put(DatabaseKeys.JOB_ID_KEY.getShortKey(), new AttributeValue().withS(jobId));
DeleteRequest deleteRequest = new DeleteRequest().withKey(keyMap);
WriteRequest writeRequest = new WriteRequest().withDeleteRequest(deleteRequest);
requests.add(writeRequest);
}
}
sendBatch(tableName, requests);
} catch (Exception t) {
logger.error("Error adding results: " + t.getMessage(), t);
throw new RuntimeException(t);
}
}
mt.endAndLog();
}
};
if (asynch) {
EXECUTOR.execute(task);
} else {
task.run();
}
}
开发者ID:intuit,项目名称:Tank,代码行数:47,代码来源:AmazonDynamoDatabaseDocApi.java
示例4: deleteAllFromSharedTable
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
/**
* Deletes all objects in a shared table, which belong to a given appid, by scanning the GSI.
* @param appid app id
*/
public static void deleteAllFromSharedTable(String appid) {
if (StringUtils.isBlank(appid) || !isSharedAppid(appid)) {
return;
}
Pager pager = new Pager(50);
List<WriteRequest> allDeletes = new LinkedList<>();
Page<Item, QueryOutcome> items;
// read all phase
do {
items = queryGSI(appid, pager);
if (items == null) {
break;
}
for (Item item : items) {
String key = item.getString(Config._KEY);
// only delete rows which belong to the given appid
if (StringUtils.startsWith(key, appid.trim())) {
logger.debug("Preparing to delete '{}' from shared table, appid: '{}'.", key, appid);
pager.setLastKey(item.getString(Config._ID));
allDeletes.add(new WriteRequest().withDeleteRequest(new DeleteRequest().
withKey(Collections.singletonMap(Config._KEY, new AttributeValue(key)))));
}
}
} while (items.iterator().hasNext());
// delete all phase
final int maxItems = 20;
int batchSteps = (allDeletes.size() > maxItems) ? (allDeletes.size() / maxItems) + 1 : 1;
List<WriteRequest> reqs = new LinkedList<>();
Iterator<WriteRequest> it = allDeletes.iterator();
String tableName = getTableNameForAppid(appid);
for (int i = 0; i < batchSteps; i++) {
while (it.hasNext() && reqs.size() < maxItems) {
reqs.add(it.next());
}
if (reqs.size() > 0) {
logger.info("Deleting {} items belonging to app '{}', from shared table (page {}/{})...",
reqs.size(), appid, i + 1, batchSteps);
batchWrite(Collections.singletonMap(tableName, reqs));
}
reqs.clear();
}
}
开发者ID:Erudika,项目名称:para,代码行数:48,代码来源:AWSDynamoUtils.java
示例5: writeMultipleItemsBatchWrite
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
private static void writeMultipleItemsBatchWrite() {
try {
// Begin syntax extract
// Create a map for the requests in the batch
Map<String, List<WriteRequest>> requestItems = new HashMap<String, List<WriteRequest>>();
// Create a PutRequest for a new Forum item
Map<String, AttributeValue> forumItem = new HashMap<String, AttributeValue>();
forumItem.put("Name", new AttributeValue().withS("Amazon RDS"));
forumItem.put("Threads", new AttributeValue().withN("0"));
List<WriteRequest> forumList = new ArrayList<WriteRequest>();
forumList.add(new WriteRequest().withPutRequest(new PutRequest().withItem(forumItem)));
requestItems.put("Forum", forumList);
// Create a PutRequest for a new Thread item
Map<String, AttributeValue> threadItem = new HashMap<String, AttributeValue>();
threadItem.put("ForumName", new AttributeValue().withS("Amazon RDS"));
threadItem.put("Subject", new AttributeValue().withS("Amazon RDS Thread 1"));
List<WriteRequest> threadList = new ArrayList<WriteRequest>();
threadList.add(new WriteRequest().withPutRequest(new PutRequest().withItem(threadItem)));
// Create a DeleteRequest for a Thread item
Map<String, AttributeValue> threadDeleteKey = new HashMap<String, AttributeValue>();
threadDeleteKey.put("ForumName", new AttributeValue().withS("Some hash attribute value"));
threadDeleteKey.put("Subject", new AttributeValue().withS("Some range attribute value"));
threadList.add(new WriteRequest().withDeleteRequest(new DeleteRequest().withKey(threadDeleteKey)));
requestItems.put("Thread", threadList);
BatchWriteItemRequest batchWriteItemRequest = new BatchWriteItemRequest();
System.out.println("Making the request.");
batchWriteItemRequest.withRequestItems(requestItems);
client.batchWriteItem(batchWriteItemRequest);
// End syntax extract
} catch (AmazonServiceException ase) {
System.err.println("Failed to retrieve items: ");
ase.printStackTrace(System.err);
}
}
开发者ID:awslabs,项目名称:aws-dynamodb-examples,代码行数:51,代码来源:LowLevelBatchWriteSyntax.java
示例6: writeMultipleItemsBatchWrite
import com.amazonaws.services.dynamodbv2.model.DeleteRequest; //导入依赖的package包/类
private static void writeMultipleItemsBatchWrite() {
try {
// Create a map for the requests in the batch
Map<String, List<WriteRequest>> requestItems = new HashMap<String, List<WriteRequest>>();
// Create a PutRequest for a new Forum item
Map<String, AttributeValue> forumItem = new HashMap<String, AttributeValue>();
forumItem.put("Name", new AttributeValue().withS("Amazon RDS"));
forumItem.put("Threads", new AttributeValue().withN("0"));
List<WriteRequest> forumList = new ArrayList<WriteRequest>();
forumList.add(new WriteRequest().withPutRequest(new PutRequest().withItem(forumItem)));
requestItems.put(table1Name, forumList);
// Create a PutRequest for a new Thread item
Map<String, AttributeValue> threadItem = new HashMap<String, AttributeValue>();
threadItem.put("ForumName", new AttributeValue().withS("Amazon RDS"));
threadItem.put("Subject", new AttributeValue().withS("Amazon RDS Thread 1"));
threadItem.put("Message", new AttributeValue().withS("ElasticCache Thread 1 message"));
threadItem.put("KeywordTags", new AttributeValue().withSS(Arrays.asList("cache", "in-memory")));
List<WriteRequest> threadList = new ArrayList<WriteRequest>();
threadList.add(new WriteRequest().withPutRequest(new PutRequest().withItem(threadItem)));
// Create a DeleteRequest for a Thread item
Map<String, AttributeValue> threadDeleteKey = new HashMap<String, AttributeValue>();
threadDeleteKey.put("ForumName", new AttributeValue().withS("Amazon S3"));
threadDeleteKey.put("Subject", new AttributeValue().withS("S3 Thread 100"));
threadList.add(new WriteRequest().withDeleteRequest(new DeleteRequest().withKey(threadDeleteKey)));
requestItems.put(table2Name, threadList);
BatchWriteItemResult result;
BatchWriteItemRequest batchWriteItemRequest = new BatchWriteItemRequest()
.withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL);
do {
System.out.println("Making the request.");
batchWriteItemRequest.withRequestItems(requestItems);
result = client.batchWriteItem(batchWriteItemRequest);
// Print consumed capacity units
for(ConsumedCapacity consumedCapacity : result.getConsumedCapacity()) {
String tableName = consumedCapacity.getTableName();
Double consumedCapacityUnits = consumedCapacity.getCapacityUnits();
System.out.println("Consumed capacity units for table " + tableName + ": " + consumedCapacityUnits);
}
// Check for unprocessed keys which could happen if you exceed provisioned throughput
System.out.println("Unprocessed Put and Delete requests: \n" + result.getUnprocessedItems());
requestItems = result.getUnprocessedItems();
} while (result.getUnprocessedItems().size() > 0);
} catch (AmazonServiceException ase) {
System.err.println("Failed to retrieve items: ");
ase.printStackTrace(System.err);
}
}
开发者ID:awslabs,项目名称:aws-dynamodb-examples,代码行数:62,代码来源:LowLevelBatchWrite.java
注:本文中的com.amazonaws.services.dynamodbv2.model.DeleteRequest类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论