我是新手,最近开始致力于亚马逊s3服务。
我已经在我的示例程序中创建了一个java maven项目并使用了Java 1.8和aws-java-sdk 1.11.6版本
以下是相同的源代码,并且成功执行。
它返回版本ID作为程序的输出。
System.out.println("Started the program to create the bucket....");
BasicAWSCredentials awsCreds = new BasicAWSCredentials(CloudMigrationConstants.AWS_ACCOUNT_KEY, CloudMigrationConstants.AWS_ACCOUNT_SECRET_KEY);
AmazonS3Client s3Client = new AmazonS3Client(awsCreds);
String uploadFileName="G:\\Ebooks\\chap1.doc";
String bucketName="jinesh1522421795620";
String keyName="test/";
System.out.println("Uploading a new object to S3 from a file\n");
File file = new File(uploadFileName);
PutObjectResult putObjectResult=s3Client.putObject(new PutObjectRequest(
bucketName, keyName, file));
System.out.println("Version id :" + putObjectResult.getVersionId());
System.out.println("Finished the program to create the bucket....");
但是当我尝试使用s3browser或amazon console查看文件时,我没有看到文件列在存储桶中。
您能否告诉我My Java程序有什么问题?
答案 0 :(得分:0)
我想我误解了这个概念。我们必须在指定密钥时指定要存储的文件的名称。在上面的程序中,我错过了指定文件的名称以及文件夹的名称,因此我无法看到该文件。
File file = new File(uploadFileName);
PutObjectResult putObjectResult=s3Client.putObject(new PutObjectRequest(
bucketName, keyName+"/chap1.doc", file));