下面列出了怎么用com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest的API类实例代码及写法,或者点击链接到github查看源代码。
private BatchGetItemResult getResults(
final Map<String, KeysAndAttributes> requestItems,
final short adapterId,
final Map<ByteArray, GeoWaveRow> resultMap) {
final BatchGetItemRequest request = new BatchGetItemRequest(requestItems);
final BatchGetItemResult result = client.batchGetItem(request);
result.getResponses().values().forEach(results -> results.stream().forEach(objMap -> {
final byte[] dataId = objMap.get(DynamoDBRow.GW_PARTITION_ID_KEY).getB().array();
final AttributeValue valueAttr = objMap.get(DynamoDBRow.GW_VALUE_KEY);
final byte[] value = valueAttr == null ? null : valueAttr.getB().array();
final AttributeValue visAttr = objMap.get(DynamoDBRow.GW_VISIBILITY_KEY);
final byte[] vis = visAttr == null ? new byte[0] : visAttr.getB().array();
resultMap.put(
new ByteArray(dataId),
DataIndexUtils.deserializeDataIndexRow(dataId, adapterId, value, vis));
}));
return result;
}
private BatchGetItemRequest createBatchGetItemRequest(final boolean filterAttributes) {
KeysAndAttributes keysAndAttributes = new KeysAndAttributes()
.withKeys(key0);
if (filterAttributes) {
keysAndAttributes.withAttributesToGet(attributesToGet);
}
return new BatchGetItemRequest()
.withRequestItems(
Collections.singletonMap(
INTEG_HASH_TABLE_NAME,
keysAndAttributes));
}
private void testBatchGetItemsContainsItem(
final TransactionManagerDynamoDBFacade facade,
final Map<String, AttributeValue> item,
final boolean filterAttributes) {
BatchGetItemRequest batchGetItemRequest = createBatchGetItemRequest(filterAttributes);
BatchGetItemResult batchGetItemResult = facade.batchGetItem(batchGetItemRequest);
List<Map<String, AttributeValue>> items = batchGetItemResult.getResponses().get(INTEG_HASH_TABLE_NAME);
assertEquals(1, items.size());
assertContainsNoTransactionAttributes(items.get(0));
assertEquals(item, items.get(0));
}
private void testBatchGetItemsIsEmpty(final TransactionManagerDynamoDBFacade facade) {
BatchGetItemRequest batchGetItemRequest = createBatchGetItemRequest(false);
BatchGetItemResult batchGetItemResult = facade.batchGetItem(batchGetItemRequest);
assertNotNull(batchGetItemResult.getResponses());
assertEquals(1, batchGetItemResult.getResponses().size());
assertNotNull(batchGetItemResult.getResponses().get(INTEG_HASH_TABLE_NAME));
assertEquals(0, batchGetItemResult.getResponses().get(INTEG_HASH_TABLE_NAME).size());
}
@Override
public BatchGetItemResult batchGetItem(
Map<String, KeysAndAttributes> requestItems,
String returnConsumedCapacity) throws AmazonServiceException,
AmazonClientException {
BatchGetItemRequest request = new BatchGetItemRequest()
.withRequestItems(requestItems)
.withReturnConsumedCapacity(returnConsumedCapacity);
return batchGetItem(request);
}
@Override
public BatchGetItemResult batchGetItem(
Map<String, KeysAndAttributes> requestItems)
throws AmazonServiceException, AmazonClientException {
BatchGetItemRequest request = new BatchGetItemRequest()
.withRequestItems(requestItems);
return batchGetItem(request);
}
@Override
public BatchGetItemResult batchGetItem(BatchGetItemRequest batchGetItemRequest) {
throw new UnsupportedOperationException();
}
@Override
public BatchGetItemResult batchGetItem(BatchGetItemRequest request) throws AmazonServiceException, AmazonClientException {
return getBackend().batchGetItem(request);
}
@Override
public BatchGetItemResult batchGetItem(BatchGetItemRequest arg0)
throws AmazonServiceException, AmazonClientException {
throw new UnsupportedOperationException("Use the underlying client instance instead");
}