我目前正在使用DynamoDB AWS API,只是发现了两种做同一件事的不同方法,我实际上是想知道,一个用户而不是另一个用户是否有任何性能或收益。
我目前的情况仅限于一张桌子,所以我将只对该表格进行操作。
使用此方法有什么好处(我认为在我的场景中,每次我想检查密钥是否存在都形成请求更为简单,我还可以使用一个固定的Table
对象来请求任何密钥我需要的时间)...
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();
DynamoDB dynamoDB = new DynamoDB(client);
Table table = dynamoDB.getTable("my-table");
table.getItem("sample");
...和这个?
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();
HashMap<String, AttributeValue> key = new HashMap<String, AttributeValue>();
key.put("Artist", new AttributeValue().withS("sample1"));
key.put("SongTitle", new AttributeValue().withS("sample2"));
GetItemRequest request = new GetItemRequest()
.withTableName("my-table")
.withKey(key);
我已经从AWS网站中的实际示例中获取了代码。
答案 0 :(得分:1)
Table
或多或少是DynamoDB客户端对象周围的轻量级包装。 (可以通过在Guthub上查看其source code来看到这一点。)可以使用任何一种使您的代码更具可读性和可维护性的代码。