java操作对象存储的常用方法

参考文档 https://www.bookstack.cn/read/MinioCookbookZH/22.md

1 创建一个MinioClient 的客户端对象
有九种方法创建 不一一列举了 例如:

public MinioClient(URL url, String accessKey, String secretKey)

2 存储桶操作
2.1创建一个存储桶

makeBucket(String bucketName)  例如:public void makeBucket(String bucketName)

2.2 查询所有的存储桶

public List<Bucket> listBuckets()

2.3 检查存储桶是否存在

public boolean bucketExists(String bucketName)

2.4 删除一个存储桶

public void removeBucket(String bucketName)
注意: - removeBucket不会删除存储桶里的对象,你需要通过removeObject API来删除它们。

2.5 获取某个桶中所有的对象

public Iterable<Result<Item>> listObjects(String bucketName, String prefix, 	

boolean recursive, boolean useVersion1)

2.6 获取桶中被部分上传的对象

public Iterable<Result<Upload>> listIncompleteUploads(String bucketName, String 	prefix, boolean recursive)

2.7 获得指定对象前缀的存储桶策略

public PolicyType getBucketPolicy(String bucketName, String objectPrefix)

2.8 给一个存储桶+对象前缀设置策略

public void setBucketPolicy(String bucketName, String objectPrefix, PolicyType 	policy)

3 存储桶操作
3.1 以流的形式下载一个对象

public InputStream getObject(String bucketName, String objectName, long offset)

3.2 下载对象指定区域的字节数组做为流。(断点下载)

public InputStream getObject(String bucketName, String objectName, long offset, 	Long length)

3.3 下载并将文件保存到本地。

public void getObject(String bucketName, String objectName, String fileName)

public CipherInputStream getObject(String bucketName, String objectName, SecretKey key)

public InputStream getObject(String bucketName, String objectName, KeyPair key)

3.4 通过InputStream上传对象。

public void putObject(String bucketName, String objectName, InputStream stream, 	long size, String contentType)

3.5 通过文件上传到对象中

public void putObject(String bucketName, String objectName, String fileName)

putObject(String bucketName, String objectName, InputStream stream, long size, 		

String contentType, SecretKey key)

putObject(String bucketName, String objectName, InputStream stream, long size, 		

String contentType, KeyPair key)

3.6 获取对象的元数据

public ObjectStat statObject(String bucketName, String objectName)

3.7 从objectName指定的对象中将数据拷贝到destObjectName指定的对象

copyObject(String bucketName, String objectName, String destBucketName, String 		

destObjectName, CopyConditions cpConds, Map metadata)

3.8 删除一个对象

 public void removeObject(String bucketName, String objectName)

3.9 删除多个对象

public Iterable<Result<DeleteError>> removeObject(String bucketName, 		

Iterable<String> objectNames)

3.10 删除一个未完整上传的对象

public Iterable<Result<DeleteError>> removeObject(String bucketName, 		

Iterable<String> objectNames)

4.1 Presigned操作
4.1 生成一个给HTTP PUT请求用的presigned URL。浏览器/移动端的客户端可以用这个URL进行上

传,即使其所在的存储桶是私有的。这个presigned URL可以设置一个失效时间,默认值是7天 。

public String presignedGetObject(String bucketName, String objectName, Integer 	expires)

4.2 生成一个给HTTP PUT请求用的presigned URL。浏览器/移动端的客户端可以用这个URL进行上
传,即使其所在的存储桶是私有的。这个presigned URL可以设置一个失效时间,默认值是7天 。

public String presignedPutObject(String bucketName, String objectName, Integer 	expires)

4.3 允许给POST请求的presigned URL设置策略,比如接收对象上传的存储桶名称的策略,key名 称前缀,过期策略。

public Map<String,String> presignedPostPolicy(PostPolicy policy)
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值