首页 > 解决方案 > DynamoDB Connection Biulding 使用 AWS Java SDK 通过在运行时从用户那里获取密钥

问题描述

我正在尝试通过从用户那里获取 AccessID 和 SecretKey 来连接到 DynamoDB。AmazonDynamoDBClient 已折旧,并且替换不允许我从用户那里获取凭证并连接到 DynamoDB。这是我的代码片段。我得到的解决方案是将密钥保存在本地文件中。我不需要这个。

        DynamoDB dynamoDB = null;

    try {
        System.out.println(1);
        BasicAWSCredentials awsCreds = new BasicAWSCredentials(upDoc.getAccID(), upDoc.getAccKey());
        System.out.println(2);
        //AmazonDynamoDBClient is depreciated  
        AmazonDynamoDBClient client = new AmazonDynamoDBClient(awsCreds).withRegion(Regions.US_EAST_2);
        System.out.println(3);
        dynamoDB = new DynamoDB(client);
        writer.append("Access Granted By AWS DynamoDB \n");
    }catch(AmazonDynamoDBException e) {
        writer.append("Access Denied By AWS DynamoDB \n");
        writer.close();
        return "Error occured. Kindly check logs to get the actual cause!";         
    }

标签: amazon-web-servicesamazon-dynamodb

解决方案


利用AmazonDynamoDBClientBuilder

BasicAWSCredentials awsCreds = new BasicAWSCredentials(upDoc.getAccID(), upDoc.getAccKey());
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withRegion(Regions.US_EAST_2).withCredentials(awsCreds).build();

推荐阅读