如何在 java 中为 inMemory DynamoDBLocal 设置 aws.access.key 和 aws.secret.key 以实现 junit 目的。
问问题
1155 次
1 回答
0
实际上,当您连接到本地 DynamoDB 实例时,API 并不需要访问密钥和密钥。您只需设置本地端点 URL 并连接到 DynamoDB。
这是相同的代码。
public static void main(String[] args) {
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard()
.withEndpointConfiguration(new EndpointConfiguration("http://localhost:8000", "us-east-1")).build();
Map<String, AttributeValue> keys = new HashMap<>();
keys.put("yearkey", new AttributeValue().withN("2016"));
keys.put("title", new AttributeValue("The Big New Movie 1"));
GetItemRequest getItemRequest = new GetItemRequest().withTableName("Movies").withKey(keys);
GetItemResult result = ddb.getItem(getItemRequest);
System.out.println(result.getItem().toString());
}
带有虚拟凭据的代码:-
如上所述,您不需要为本地 DynamoDB 设置凭据。如果您正在为其他目的寻找样本,您可以按如下所述设置凭据。
BasicAWSCredentials awsCreds = new BasicAWSCredentials("access_key_id", "secret_key_id");
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withEndpointConfiguration(new EndpointConfiguration("http://localhost:8000", "us-east-1")).build();
于 2017-09-19T09:07:08.513 回答