我正在使用AmazonS3Client.java从我的应用程序向S3上传文件。我正在使用putObject方法上传文件
val putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, metadata)
val acl = CannedAccessControlList.Private
putObjectRequest.setCannedAcl(acl)
s3.putObject(putObjectRequest)这适用于我的S3帐户中最顶层的存储桶。现在,假设我想要将文件上传到一个子存储桶中,例如bucketA中的bucketB。如何指定bucketB的存储桶名称?
谢谢
发布于 2011-06-29 20:23:50
诚然,这有点令人惊讶,但在S3中没有“子存储桶”这样的东西。所有的存储桶都是顶级的。您在S3管理控制台或其他UI中看到的存储桶中的结构被称为“文件夹”,但它们实际上并不存在!例如,您不能直接创建或销毁文件夹,也不能为它们设置任何属性。文件夹纯粹是一种表示级约定,用于查看存储桶中底层的对象平面集合。也就是说,很容易将对象拆分到(纯粹不存在的)文件夹中。只需给它们起家族式的名称,每个级别用"/“分隔。
val putObjectRequest = new PutObjectRequest(bucketName, topFolderName +"/" + subFolderName+ "/" +key, inputStream, metadata)发布于 2011-06-29 18:21:11
尝试使用putObjectRequest.setKey("folder")
https://stackoverflow.com/questions/6518953
复制相似问题