在S3存储桶中,为当前存储桶的访问策略添加一个允许另一个AWS账户匿名访问该存储桶的条目。使用Java SDK编写代码如下:
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.S3Object;
public class S3Downloader {
public static void main(String[] args) {
String awsAccessKeyId = "YOUR_ACCESS_KEY";
String awsSecretKey = "YOUR_SECRET_KEY";
String bucketName = "BUCKET_NAME";
String key = "OBJECT_KEY";
String destinationFilePath = "DESTINATION_FILE_PATH";
// Create BasicAWSCredentials object
BasicAWSCredentials credentials = new BasicAWSCredentials(awsAccessKeyId, awsSecretKey);
// Create AmazonS3Client object
AmazonS3Client s3Client = new AmazonS3Client(credentials);
// Create GetObjectRequest object with bucket name and object key
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
// Get S3Object by passing GetObjectRequest object to getObject method of AmazonS3Client
S3Object s3Object = s3Client.getObject(getObjectRequest);
// Save the S3Object to the destination file path specified
s3Client.getObject(new GetObjectRequest(bucketName, key), new File(destinationFilePath));
}
}