【发布时间】:2017-06-16 13:24:56
【问题描述】:
我正在尝试阅读 Amazon S3 上可用的文件,因为问题说明了问题。我找不到已弃用的构造函数的替代调用。
代码如下:
private String AccessKeyID = "xxxxxxxxxxxxxxxxxxxx";
private String SecretAccessKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
private static String bucketName = "documentcontainer";
private static String keyName = "test";
//private static String uploadFileName = "/PATH TO FILE WHICH WANT TO UPLOAD/abc.txt";
AWSCredentials credentials = new BasicAWSCredentials(AccessKeyID, SecretAccessKey);
void downloadfile() throws IOException
{
// Problem lies here - AmazonS3Client is deprecated
AmazonS3 s3client = new AmazonS3Client(credentials);
try {
System.out.println("Downloading an object...");
S3Object s3object = s3client.getObject(new GetObjectRequest(
bucketName, keyName));
System.out.println("Content-Type: " +
s3object.getObjectMetadata().getContentType());
InputStream input = s3object.getObjectContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
while (true) {
String line = reader.readLine();
if (line == null) break;
System.out.println(" " + line);
}
System.out.println();
} catch (AmazonServiceException ase) {
//do something
} catch (AmazonClientException ace) {
// do something
}
}
有什么帮助吗?如果需要更多解释,请提及。 我检查了SDK的.zip文件中提供的示例代码,它是一样的。
【问题讨论】:
-
您必须使用
AwsClientBuilder类作为替代。 -
@franklinsijo 代码示例或要读取的源代码?
-
您可以将其添加为答案吗?我会用一小段代码编辑你的答案并接受它。
-
可以在这个文件中硬编码密钥对吗?当您公开部署 Web 应用程序时,此文件会在哪里?这不是安全问题吗?
标签: java amazon-web-services amazon-s3 aws-sdk deprecated