Java 使用API在amazon S3 bucket中创建文件夹/上载文件
我是亚马逊和java的新手。 我在这里尝试两件事 1-我正在尝试在我的AmazonS3存储桶中创建一个文件夹,我已经创建了该文件夹,并且已经获得了该文件夹的凭据 第二个-我正在尝试将文件上载到此存储桶 根据我的理解,我可以使用putObjectRequest()方法来完成这两项任务Java 使用API在amazon S3 bucket中创建文件夹/上载文件,java,amazon-s3,amazon,Java,Amazon S3,Amazon,我是亚马逊和java的新手。 我在这里尝试两件事 1-我正在尝试在我的AmazonS3存储桶中创建一个文件夹,我已经创建了该文件夹,并且已经获得了该文件夹的凭据 第二个-我正在尝试将文件上载到此存储桶 根据我的理解,我可以使用putObjectRequest()方法来完成这两项任务 PutObjectRequest(bucketName, keyName, file) 用于上载文件 我不确定我是否应该使用这种方法 PutObjectRequest(String bucketName, Str
PutObjectRequest(bucketName, keyName, file)
用于上载文件
我不确定我是否应该使用这种方法
PutObjectRequest(String bucketName, String key, InputStream input,
ObjectMetadata metadata)
仅用于创建文件夹。我正在努力输入蒸汽和对象元数据。我不知道这到底是干什么用的,我怎么能用它
任何帮助都将不胜感激。:) 您不需要在AmazonS3中创建文件夹。事实上,文件夹并不存在 相反,键(文件名)包含完整路径和对象名 例如,如果名为
cat.jpg
的文件位于animates
文件夹中,则键(文件名)为:animates/cat.jpg
只需使用该键放置一个对象,文件夹就会自动创建。(事实上,这不是真的,因为没有文件夹,但这是一个很好的简单方式来想象这个概念。)
至于使用哪个函数。。。始终使用满足您需求的最简单的。因此,只需使用PutObjectRequest(bucketName、keyName、file)是的,您可以使用PutObjectRequest(bucketName、keyName、file)来完成这两项任务 1、创建S3文件夹
使用AWS S3 Java SDK,只需在密钥名称的末尾添加“/”即可创建空文件夹
var folderKey = key + "/"; //end the key name with "/"
示例代码:
final InputStream im = new InputStream() {
@Override
public int read() throws IOException {
return -1;
}
};
final ObjectMetadata om = new ObjectMetadata();
om.setContentLength(0L);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, im, om);
s3.putObject(putObjectRequest);
2、上传文件
同样,您可以从本地文件获取输入流。或者您可以使用java库
您可以按照下面的示例创建一个bucket&例如添加一个对象
希望能有所帮助