有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java首选方法使用AWSCredentials构建AmazonS3Client实例

AmazonS3Client已被弃用,取而代之的是AmazonS3ClientBuilder。AmazonS3Client构造函数接受了AWSCredentials实例,客户端可以通过该实例传递AWS访问和密钥

AWSCredentials credentialsProvider = ... ;
AmazonS3Client amazonS3Client = new AmazonS3Client(credentialsProvider.getCredentials());

使用AmazonS3ClientBuilder时,使用必要的AWS凭据实例化AmazonS3客户端的首选方式是什么


共 (1) 个答案

  1. # 1 楼答案

    根据AWS Documentation,可以按如下方式使用AmazonS3ClientBuilder

    AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                       .withCredentials(new EnvironmentVariableCredentialsProvider())
                       .build();
    

    此处使用的EnvironmentVariableCredentialsProvider

    provides credentials by looking at the: AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY) environment variables.

    资料来源:AWS Documentation EnvironmentVariableCredentialsProvider

    或者,您可以使用自己的实现来调整AWSCredentialsProvider

    You can use this technique to supply credential providers or provider chains that you create by using your own credential provider that implements the AWSCredentialsProvider interface

    或者可以使用Amazon提供的实现,例如提供的BasicAWSCredentials类:

    BasicAWSCredentials credentials = new BasicAWSCredentials("access_key_id", "secret_key_id");
    AmazonS3 s3 = AmazonS3ClientBuilder.standard()
        .withCredentials(new AWSStaticCredentialsProvider(credentials))
        .withRegion(Regions.US_WEST_2)
        .build();
    

    实现该接口的更多官方类包括: