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

目录

        • 1. 阿里云OSS对象存储
        • 2. SDK和官方文档
        • 3. endpoint,accessKeyId ,accessKeySecret
        • 4. 创建bucket
        • 5. 上传文件
        • 6. 下载文件
        • 7. 删除文件
        • 8. 设置文件访问权限ACL
        • 9. 关于文件名中的斜杠(/)和文件夹说明
        • 10. 最后,最重要的一点

1. 阿里云OSS对象存储

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

2. SDK和官方文档
<dependency>
    <groupId>com.aliyun.ossgroupId>
    <artifactId>aliyun-sdk-ossartifactId>
    <version>3.10.2version>
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干货资讯,免费提供大量教程和工具下载。
Java开发使用阿里云OSS对象存储实例教程_第1张图片

你可能感兴趣的:(阿里云,Java,云服务,java,阿里云,云存储,后端,云服务)