• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java KeysAndAttributes类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.amazonaws.services.dynamodbv2.model.KeysAndAttributes的典型用法代码示例。如果您正苦于以下问题:Java KeysAndAttributes类的具体用法?Java KeysAndAttributes怎么用?Java KeysAndAttributes使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



KeysAndAttributes类属于com.amazonaws.services.dynamodbv2.model包,在下文中一共展示了KeysAndAttributes类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: execute

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@Test
public void execute() {
    Map<String, AttributeValue> key = new HashMap<String, AttributeValue>();
    key.put("1", new AttributeValue("Key_1"));
    Map<String, AttributeValue> unprocessedKey = new HashMap<String, AttributeValue>();
    unprocessedKey.put("1", new AttributeValue("UNPROCESSED_KEY"));
    Map<String, KeysAndAttributes> keysAndAttributesMap = new HashMap<String, KeysAndAttributes>();
    KeysAndAttributes keysAndAttributes = new KeysAndAttributes().withKeys(key);
    keysAndAttributesMap.put("DOMAIN1", keysAndAttributes);
    exchange.getIn().setHeader(DdbConstants.BATCH_ITEMS, keysAndAttributesMap);

    command.execute();

    assertEquals(keysAndAttributesMap, ddbClient.batchGetItemRequest.getRequestItems());


    List<Map<String, AttributeValue>> batchResponse = (List<Map<String, AttributeValue>>)exchange.getIn().getHeader(DdbConstants.BATCH_RESPONSE, Map.class).get("DOMAIN1");
    AttributeValue value = batchResponse.get(0).get("attrName");

    KeysAndAttributes unProcessedAttributes = (KeysAndAttributes)exchange.getIn().getHeader(
            DdbConstants.UNPROCESSED_KEYS, Map.class).get("DOMAIN1");
    Map<String, AttributeValue> next = unProcessedAttributes.getKeys().iterator().next();

    assertEquals(new AttributeValue("attrValue"), value);
    assertEquals(unprocessedKey, next);
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:27,代码来源:BatchGetItemsCommandTest.java


示例2: batchGetItem

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public BatchGetItemResult batchGetItem(BatchGetItemRequest batchGetItemRequest) {
    this.batchGetItemRequest = batchGetItemRequest;
    Map<String, List<Map<String, AttributeValue>>> responseMap = new HashMap<String, List<Map<String, AttributeValue>>>();
    List<Map<String, AttributeValue>> p = new ArrayList<Map<String, AttributeValue>>();
    p.add(getAttributes());
    responseMap.put("DOMAIN1", p);
    Map<String, AttributeValue> keysMap = new HashMap<String, AttributeValue>();
    keysMap.put("1", new AttributeValue("UNPROCESSED_KEY"));
    Map<String, KeysAndAttributes> unprocessedKeys = new HashMap<String, KeysAndAttributes>();
    unprocessedKeys.put("DOMAIN1", new KeysAndAttributes().withKeys(keysMap));

    return new BatchGetItemResult()
            .withResponses(responseMap)
            .withUnprocessedKeys(unprocessedKeys);
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:18,代码来源:AmazonDDBClientMock.java


示例3: convertResultKeys

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
private KeysAndAttributes convertResultKeys(
		Map<String, Set<String>> resultKeys) {
	KeysAndAttributes keys = new KeysAndAttributes();

	for (final String s : resultKeys.keySet()) {
		for (final String value : resultKeys.get(s)) {
			keys.withKeys(new HashMap<String, AttributeValue>() {
				{
					put(labelAttribute, new AttributeValue().withS(s));
					put(dateAttribute, new AttributeValue().withS(value));
				}
			});
		}
	}

	return keys;
}
 
开发者ID:awslabs,项目名称:amazon-kinesis-aggregators,代码行数:18,代码来源:DynamoQueryEngine.java


示例4: batchGetDataByKeys

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
private List<Map<String, AttributeValue>> batchGetDataByKeys(
		final String tableName, final KeysAndAttributes keys) {
	Map<String, KeysAndAttributes> requestMap = new HashMap<>();
	keys.setConsistentRead(true);
	requestMap.put(tableName, keys);

	BatchGetItemResult result = null;
	try {
		result = dynamoClient.batchGetItem(new BatchGetItemRequest(
				requestMap));
	} catch (AmazonServiceException e) {
		LOG.error(e);
		throw e;
	}

	return result.getResponses().get(this.tableName);
}
 
开发者ID:awslabs,项目名称:amazon-kinesis-aggregators,代码行数:18,代码来源:DynamoQueryEngine.java


示例5: batchGetItem

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
public CompletableFuture<Map<String, List<Map<String, Object>>>> batchGetItem(final Map<String, KeysAndAttributes> requestItems) {
    return asyncExecutor.execute(new Callable<Map<String, List<Map<String, Object>>>>() {
        @Override
        public Map<String, List<Map<String, Object>>> call() throws Exception {
            return dbExecutor.batchGetItem(requestItems);
        }
    });
}
 
开发者ID:landawn,项目名称:AbacusUtil,代码行数:9,代码来源:AsyncDynamoDBExecutor.java


示例6: test_batchGetItem_WithAllParameters

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@Test
public void test_batchGetItem_WithAllParameters() throws Exception {
  String TEST_ATTRIBUTE_2 = "Attribute2";
  String TEST_ATTRIBUTE_VALUE_2 = "AttributeValue2";

  createTable();
  putItem(TEST_ATTRIBUTE, TEST_ATTRIBUTE_VALUE);
  putItem(TEST_ATTRIBUTE_2, TEST_ATTRIBUTE_VALUE_2);

  List<Map<String, AttributeValue>> keys = new ArrayList<Map<String, AttributeValue>>();
  Map<String, AttributeValue> key1 = new HashMap<String, AttributeValue>();
  key1.put(TEST_ATTRIBUTE, new AttributeValue()
    .withS(TEST_ATTRIBUTE_VALUE));
  keys.add(key1);
  Map<String, AttributeValue> key2 = new HashMap<String, AttributeValue>();
  key2.put(TEST_ATTRIBUTE_2, new AttributeValue()
    .withS(TEST_ATTRIBUTE_VALUE_2));
  keys.add(key2);

  Map<String, KeysAndAttributes> requestItems = new HashMap<String, KeysAndAttributes>();
  requestItems.put(TEST_TABLE_NAME, new KeysAndAttributes()
    .withKeys(keys));
  String returnConsumedCapacity = "";

  BatchGetItemResult result = dynamoDb.batchGetItem(requestItems,returnConsumedCapacity);
  String tableName = result.getResponses().keySet().toArray(new String[1])[0];
  List<Map<String, AttributeValue>> items = result.getResponses().get(tableName);
  AttributeValue value1 = items.get(0).get(TEST_ATTRIBUTE);
  AttributeValue value2 = items.get(1).get(TEST_ATTRIBUTE_2);

  assertThat(tableName, equalTo(TEST_TABLE_NAME));
  assertThat(items.size(), equalTo(keys.size()));
  assertThat(value1.getS(), equalTo(TEST_ATTRIBUTE_VALUE));
  assertThat(value2.getS(), equalTo(TEST_ATTRIBUTE_VALUE_2));
}
 
开发者ID:bizo,项目名称:aws-java-sdk-stubs,代码行数:36,代码来源:AmazonDynamoDBStubTest.java


示例7: batchGet

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
/**
 * Reads multiple items from DynamoDB, in batch.
 * @param <P> type of object
 * @param kna a map of row key->data
 * @param results a map of ID->ParaObject
 */
protected static <P extends ParaObject> void batchGet(Map<String, KeysAndAttributes> kna, Map<String, P> results) {
	if (kna == null || kna.isEmpty() || results == null) {
		return;
	}
	try {
		BatchGetItemResult result = getClient().batchGetItem(new BatchGetItemRequest().
				withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL).withRequestItems(kna));
		if (result == null) {
			return;
		}

		List<Map<String, AttributeValue>> res = result.getResponses().get(kna.keySet().iterator().next());

		for (Map<String, AttributeValue> item : res) {
			P obj = fromRow(item);
			if (obj != null) {
				results.put(obj.getId(), obj);
			}
		}
		logger.debug("batchGet(): total {}, cc {}", res.size(), result.getConsumedCapacity());

		if (result.getUnprocessedKeys() != null && !result.getUnprocessedKeys().isEmpty()) {
			Thread.sleep(1000);
			logger.warn("{} UNPROCESSED read requests!", result.getUnprocessedKeys().size());
			batchGet(result.getUnprocessedKeys(), results);
		}
	} catch (Exception e) {
		logger.error(null, e);
	}
}
 
开发者ID:Erudika,项目名称:para,代码行数:37,代码来源:AWSDynamoUtils.java


示例8: loadTokensByClientAndUserIndex

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
private Collection<OAuth2AccessToken> loadTokensByClientAndUserIndex(Map<String, Condition> keyCondition, boolean filterOutNullUsers) {
    List<OAuth2AccessToken> accessTokens = new ArrayList<OAuth2AccessToken>();

    List<String> accessTokenIds = null;
    try {
        accessTokenIds = dynamoDBTemplate.query(schema.getAccessTableName(), schema.getAccessIndexClientIdAndUserName(), keyCondition, //
                new ObjectExtractor<String>() {

                    public String extract(Map<String, AttributeValue> values) {
                        return values.get(schema.getAccessColumnTokenId()).getS();
                    }
                }, schema.getAccessColumnTokenId());

        List<Map<String, AttributeValue>> keys = new ArrayList<Map<String, AttributeValue>>(accessTokenIds.size());
        for (String accessTokenId : accessTokenIds) {
            keys.add(Collections.singletonMap(schema.getAccessColumnTokenId(), new AttributeValue(accessTokenId)));
        }
        if (filterOutNullUsers) {
            accessTokens = dynamoDBTemplate.batchGet(schema.getAccessTableName(), // 
                    new KeysAndAttributes().withKeys(keys).withConsistentRead(true).withAttributesToGet(schema.getAccessColumnTokenId(), schema.getAccessColumnToken(), schema.getAccessColumnIsNullUser()), // 
                    new NonNullUserSafeAccessTokenExtractor());
        } else {
            accessTokens = dynamoDBTemplate.batchGet(schema.getAccessTableName(), // 
                    new KeysAndAttributes().withKeys(keys).withConsistentRead(true).withAttributesToGet(schema.getAccessColumnTokenId(), schema.getAccessColumnToken()), // 
                    new SafeAccessTokenExtractor());
        }
    } catch (EmptyResultDataAccessException e) {
        if (LOG.isInfoEnabled()) {
            LOG.info("Failed to find access token for " + keyCondition.toString());
        }
    }
    accessTokens = removeNulls(accessTokens);

    return accessTokens;
}
 
开发者ID:Vivastream,项目名称:spring-security-oauth2-dynamodb,代码行数:36,代码来源:DynamoDBTokenStore.java


示例9: batchGet

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
public <T> List<T> batchGet(String tableName, KeysAndAttributes keysAndAttributes, final ObjectExtractor<T> extractor) throws EmptyResultDataAccessException {
    Assert.notNull(tableName, "Table must not be null");
    Assert.notNull(extractor, "ObjectExtractor must not be null");
    if (logger.isDebugEnabled()) {
        logger.debug("Executing batch get on " + tableName + " for " + keysAndAttributes.toString());
    }

    List<T> results = new ArrayList<T>(keysAndAttributes.getKeys().size());

    Map<String, KeysAndAttributes> unprocessedKeys = Collections.singletonMap(tableName, keysAndAttributes);
    while (unprocessedKeys.size() > 0) {
        BatchGetItemResult result = client.batchGetItem(unprocessedKeys);
        List<Map<String, AttributeValue>> items = result.getResponses().get(tableName);
        if (items != null) {
            for (Map<String, AttributeValue> item : items) {
                results.add(extractor.extract(item));
            }
        }

        unprocessedKeys = result.getUnprocessedKeys();
    }

    if (results.size() == 0) {
        throw new EmptyResultDataAccessException("No results found in " + tableName + "for " + keysAndAttributes.toString());
    }

    return results;
}
 
开发者ID:Vivastream,项目名称:spring-security-oauth2-dynamodb,代码行数:29,代码来源:DynamoDBTemplate.java


示例10: batchGetItem

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
public Map<String, List<Map<String, Object>>> batchGetItem(final Map<String, KeysAndAttributes> requestItems) {
    return (Map) batchGetItem(Map.class, requestItems);
}
 
开发者ID:landawn,项目名称:AbacusUtil,代码行数:5,代码来源:DynamoDBExecutor.java


示例11: determineBatchItems

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private Map<String, KeysAndAttributes> determineBatchItems() {
    return exchange.getIn().getHeader(DdbConstants.BATCH_ITEMS, Map.class);
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:5,代码来源:BatchGetItemsCommand.java


示例12: readAll

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
@Override
public <P extends ParaObject> Map<String, P> readAll(String appid, List<String> keys, boolean getAllColumns) {
	if (keys == null || keys.isEmpty() || StringUtils.isBlank(appid)) {
		return new LinkedHashMap<>();
	}

	// DynamoDB doesn't allow duplicate keys in batch requests
	Set<String> keySet = new TreeSet<>(keys);
	if (keySet.size() < keys.size() && !keySet.isEmpty()) {
		logger.debug("Duplicate keys found - readAll({})", keys);
	}

	Map<String, P> results = new LinkedHashMap<>(keySet.size(), 0.75f, true);
	ArrayList<Map<String, AttributeValue>> keyz = new ArrayList<>(MAX_KEYS_PER_READ);

	try {
		int batchSteps = 1;
		if ((keySet.size() > MAX_KEYS_PER_READ)) {
			batchSteps = (keySet.size() / MAX_KEYS_PER_READ)
					+ ((keySet.size() % MAX_KEYS_PER_READ > 0) ? 1 : 0);
		}

		Iterator<String> it = keySet.iterator();
		String tableName = getTableNameForAppid(appid);
		int j = 0;

		for (int i = 0; i < batchSteps; i++) {
			while (it.hasNext() && j < MAX_KEYS_PER_READ) {
				String key = it.next();
				results.put(key, null);
				keyz.add(Collections.singletonMap(Config._KEY, new AttributeValue(getKeyForAppid(key, appid))));
				j++;
			}

			KeysAndAttributes kna = new KeysAndAttributes().withKeys(keyz);
			if (!getAllColumns) {
				kna.setAttributesToGet(Arrays.asList(Config._ID, Config._KEY, Config._TYPE));
			}

			batchGet(Collections.singletonMap(tableName, kna), results);
			keyz.clear();
			j = 0;
		}
		logger.debug("DAO.readAll({}) {}", keySet, results.size());
	} catch (Exception e) {
		logger.error("Failed to readAll({}): {}", keys, e);
	}
	return results;
}
 
开发者ID:Erudika,项目名称:para,代码行数:50,代码来源:AWSDynamoDAO.java


示例13: retrieveMultipleItemsBatchGet

import com.amazonaws.services.dynamodbv2.model.KeysAndAttributes; //导入依赖的package包/类
private static void retrieveMultipleItemsBatchGet() {        
    
    try {
        
        TableKeysAndAttributes forumTableKeysAndAttributes = new TableKeysAndAttributes(forumTableName);
        forumTableKeysAndAttributes.addHashOnlyPrimaryKeys("Name", "Amazon S3", "Amazon DynamoDB");
        
        TableKeysAndAttributes threadTableKeysAndAttributes = new TableKeysAndAttributes(threadTableName);
        threadTableKeysAndAttributes.addHashAndRangePrimaryKeys("ForumName", "Subject", 
            "Amazon DynamoDB","DynamoDB Thread 1",
            "Amazon DynamoDB","DynamoDB Thread 2",
            "Amazon S3","S3 Thread 1");
        
         Map<String, TableKeysAndAttributes> requestItems = new HashMap<String, TableKeysAndAttributes>();
         requestItems.put(forumTableName, forumTableKeysAndAttributes);
         requestItems.put(threadTableName, threadTableKeysAndAttributes);
         
         System.out.println("Making the request.");

         BatchGetItemOutcome outcome = dynamoDB.batchGetItem(forumTableKeysAndAttributes,
                        threadTableKeysAndAttributes);

        do {

            for (String tableName : outcome.getTableItems().keySet()) {
                System.out.println("Items in table " + tableName);
                List<Item> items = outcome.getTableItems().get(tableName);
                for (Item item : items) {
                    System.out.println(item.toJSONPretty());
                }
            }
            
            // Check for unprocessed keys which could happen if you exceed provisioned
            // throughput or reach the limit on response size.
            
            Map<String, KeysAndAttributes> unprocessedKeys = outcome.getUnprocessedKeys();
        
            if (outcome.getUnprocessedKeys().size() == 0) {
                System.out.println("No unprocessed keys found");
            } else {
                System.out.println("Retrieving the unprocessed keys");
                outcome = dynamoDB.batchGetItemUnprocessed(unprocessedKeys);
            }
            
        } while (outcome.getUnprocessedKeys().size() > 0);
 
 
    }  catch (Exception e) {
        System.err.println("Failed to retrieve items.");
        System.err.println(e.getMessage());
    }  

}
 
开发者ID:awslabs,项目名称:aws-dynamodb-examples,代码行数:54,代码来源:DocumentAPIBatchGet.java



注:本文中的com.amazonaws.services.dynamodbv2.model.KeysAndAttributes类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java InvocationHandlerFactory类代码示例发布时间:2022-05-22
下一篇:
Java SchedulerNode类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap