AWS SDK 1 和 AWS SDK 2 都可以使用 AWS ProfileCredentialsProvider 类获取 AWS 访问密钥和密码,并将其用于 SDK 的 SDK Client。下面是使用 AWS SDK 2 中 AWS ProfileCredentialsProvider 类获取凭据的示例代码:
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.ListBucketsRequest;
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
public class S3ClientExample {
public static void main(String[] args) {
// Create a client using the profile credentials provider
S3Client s3Client = S3Client.builder()
.credentialsProvider(ProfileCredentialsProvider.create())
.region(Region.US_WEST_2)
.build();
// List all buckets
ListBucketsResponse listBucketsResponse = s3Client.listBuckets(ListBucketsRequest.builder().build());
listBucketsResponse.buckets().forEach(bucket -> System.out.println(bucket.name()));
}
}
而使用 AWS SDK 1 中的 AWS ProfileCredentialsProvider,则需要先在 aws.properties 文件中配置凭据,并在代码中使用如下代码进行验证:
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.Bucket;
public class S3ClientExample {
public static void main(String[] args) {
// Create a client using the profile credentials provider
AmazonS3Client s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
// Configure the client with the desired region
s3Client.setRegion(Region.getRegion(Regions.US_WEST_2));
// List all buckets
for (Bucket bucket : s3Client.listBuckets()) {
System.out.println(bucket.getName());
}
}
}
因此,无论是使用 AWS SDK 1 还是 AWS SDK 2,都可以使用 AWS ProfileCredentialsProvider 类来获取 AWS 访问密钥和密码。