Java开发使用阿里云OSS对象存储实例教程

4 篇文章 0 订阅
1 篇文章 0 订阅

1. 阿里云OSS对象存储

我的解释肯定不够规范,来看看百度词条的解释
对象存储,也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。
就像文件一样,对象包含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。每个对象都在一个被称作存储池的扁平地址空间的同一级别里,一个对象不会属于另一个对象的下一级。

2. SDK和官方文档
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>

SDK版本及源码参考GitHub阿里云OSS SDK源码

官方文档可以查阅阿里云OSS SDK官方文档

详细示例可以参考阿里云OSS SDK快速入门

3. endpoint,accessKeyId ,accessKeySecret
  • endpoint:对象存储有地域概念,如我成都区域,则endpoint就为https://oss-cn-chengdu.aliyuncs.com
  • aacessKeyId,accessKeySecret:阿里云登录后访问AccessKey管理创建使用,建议配合子账户使用
4. 创建bucket

bucket我认为可以理解类似于文件存储中的磁盘分区概念,只不过这里的磁盘是OSS,没有容量大小概念

OSS client= new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
CreateBucketRequest createBucketRequest = new CreateBucketRequest("examplebucket");
// 如果创建存储空间的同时需要指定存储类型和数据容灾类型, 请参考如下代码。
// 此处以设置存储空间的存储类型为标准存储为例介绍。
//createBucketRequest.setStorageClass(StorageClass.Standard);
// 数据容灾类型默认为本地冗余存储,即DataRedundancyType.LRS。如果需要设置数据容灾类型为同城冗余存储,请设置为DataRedundancyType.ZRS。
//createBucketRequest.setDataRedundancyType(DataRedundancyType.ZRS);
// 设置存储空间的权限为公共读,默认为私有。
//createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
// 创建存储空间。
client.createBucket(createBucketRequest);
5. 上传文件
client.putObject("my-bucket","filename",new FileInputStream("path");
// 这里pubObject有多个重载方法,可以是IO流,File对象,URL,PutObjectRequest等等,具体可翻阅源码。
6. 下载文件
OSSObject obj= client.getObject("bucket","filename");
InputStream stream=obj.getObjectContent()
7. 删除文件
client.deleteObject("bucket","filename");
8. 设置文件访问权限ACL
client.setObjectAcl("bucket","filename", CannedAccessControlList.PublicRead);

访问权限共有四个级别,如下

访问权限描述访问权限值
继承Bucket文件遵循存储空间的访问权限。CannedAccessControlList.Default
私有文件的拥有者和授权用户有该文件的读写权限,其他用户没有权限操作该文件。CannedAccessControlList.Private
公共读文件的拥有者和授权用户有该文件的读写权限,其他用户只有文件的读权限。请谨慎使用该权限。CannedAccessControlList.PublicRead
公共读写所有用户都有该文件的读写权限。请谨慎使用该权限。CannedAccessControlList.PublicReadWrite
9. 关于文件名中的斜杠(/)和文件夹说明

对象存储没有目录概念,所有文件全部平级,但是OSS文件命名允许使用斜杠(/),在UI体现上也是文件夹,但是不要被误导了,这不是文件夹!,如果里面的文件删除,这个我们看见的文件夹也会消失,并且我们是不能直接访问这个文件夹,只能访问文件!

10. 最后,最重要的一点

扫码关注公众号【暴走的怪兽君】,常更新Java干货资讯,免费提供大量教程和工具下载。
暴走的怪兽君

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走的怪兽君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值