1

如何在 java 中为 inMemory DynamoDBLocal 设置 aws.access.key 和 aws.secret.key 以实现 junit 目的。

4

1 回答 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 回答