阿里云的OSS云存储的使用

阿里云官网:https://www.aliyun.com/

通过阿里云官网,登录进入用户的界面,在搜索框中输入OSS,然后进入阿里云的对象存储OSS的控制台。(未开通的开通即可)

阿里云的OSS云存储的使用_第1张图片

创建 Bucket

点击【Bucket 列表】,查看个人的Bucket。点击【创建 Bucket】,创建新的 Bucket。其中必填项有:

  • Bucket 名称:唯一的就行
  • 地域:选择一个近的就行,例如华南1(深圳)
  • 存储类型:选择【标准存储】
  • 读写权限:选择【公共读】
  • 其他选项:默认

阿里云的OSS云存储的使用_第2张图片

点击【确定】,即可创建。

阿里云的OSS云存储的使用_第3张图片

上传文件

可以通过【文件管理】中【文件列表】进行上传文件

阿里云的OSS云存储的使用_第4张图片

点击【上传文件】,即可上传指定文件到OSS中。

阿里云的OSS云存储的使用_第5张图片

选择上传文件,步骤如图。除了上传文件外,还可以上传文件夹。

阿里云的OSS云存储的使用_第6张图片

点击【上传文件】后,通过【任务列表】可以查看上传的文件情况。

阿里云的OSS云存储的使用_第7张图片

之后,可以在【文件列表】中查看上传的文件,且可以点击【详情】查看文件的信息。

在【详情】中,可以注意到文件有一个URL地址,我们可以通过这个地址下载该文件。

配置RAM用户

如果想要在开发中进行操作阿里云OSS云存储的文件,那么需要配置 RAM。配置的具体操作如下。

点击【账户头像】,找到【AccessKey 管理】。

阿里云的OSS云存储的使用_第8张图片

点击【AccessKey 管理】,进入RAM 访问控制台,注意选择【使用子用户】。

阿里云的OSS云存储的使用_第9张图片

进入【RAM 访问控制】,点击【用户】。可以通过【创建用户】来新建一个用户。

阿里云的OSS云存储的使用_第10张图片

创建用户并获取key值

新建用户,输入登录名称和显示名称,访问方式选择【Open API 调用访问】。

阿里云的OSS云存储的使用_第11张图片

选择【Open API 调用访问】的访问方式是,会自动的生成【AccessKey ID】和【AccessKey Secret】,但在生成时,会验证是否是你本人,阿里云提供了两种认证方式:手机验证码拍摄脸部

阿里云的OSS云存储的使用_第12张图片

这里选择【手机验证码】的方式进行认证。

阿里云的OSS云存储的使用_第13张图片

点击【确定】后,就会生成用户的【AccessKey ID】和【AccessKey Secret】。这里需要将其记住,以便后面开发中使用。

阿里云的OSS云存储的使用_第14张图片

AccessKey ID:LTAI5t9v9PdmFp4HkkHS1599

AccessKey Secret:YAM1HBvHOUcKdtGq7vWsrzRRGCJNkG

点击【返回】,到此,用户就创建完毕。

阿里云的OSS云存储的使用_第15张图片

创建完用户后,需要在用户中添加权限才能使用,否则就不能使用。

设置用户权限

点击用户【操作】下的【添加权限】。通过搜索【oss】,搜索所有支持OSS的权限,然后选择阿里云的OSS。

阿里云的OSS云存储的使用_第16张图片

点击【确定】,然后用户就添加了阿里云的OSS云储存权限。再点击【完成】,即可完成配置。

阿里云的OSS云存储的使用_第17张图片

OSS的使用

可以通过阿里云OSS控制台下的【常用入口】的【OSS学习路径】来学习怎么使用OSS。

阿里云的OSS云存储的使用_第18张图片

因为我是在 Java 开发中使用的,所以就点击【Java SDK】。

阿里云的OSS云存储的使用_第19张图片

众所周知,要使用一个工具时,第一步应该是安装它。所以进入【Java SDK】后,直接点击【SDK示例】下的【Java】->【安装】。通过【安装】中的文件描述,可选择你的安装的方式。

阿里云的OSS云存储的使用_第20张图片

Java中使用OSS

查阅官方文档可知,Java 开发中使用阿里云的 OSS 云存储,第一步是先引入相关依赖。然后再进行其他操作,下面通过一个案例来简单的使用阿里云的 OSS 云存储。

创建工程

通过 IDEA 工具,新建一个名为 aliyun-oss 工程的 maven 项目。

IDEA工具:File -> New -> Project ->Maven。

阿里云的OSS云存储的使用_第21张图片

引入依赖

在 pom.xml 文件下引入阿里云的 OSS 云存储依赖,因为需要使用单元测试,所以这里引入了 junit 依赖。


  
  
    com.aliyun.oss
    aliyun-sdk-oss
    3.10.2
  
  
  
    junit
    junit
    4.13
  

新建OSSClient

OSSClient 是 OSS 的 Java 客户端,用于管理存储空间和文件等 OSS 资源。使用 Java SDK 发起 OSS请求,需要初始化一个 OSSClient 实例,并根据需要修改 ClientConfiguration 的默认配置项。

在官网中,提供了很多种新建 OSSClient 的方法,而在新建 OSSClient 时,需要指定 Endpoint(地域节点)。而 Endpoint 可以在OSS 用户的概览中获取。

阿里云的OSS云存储的使用_第22张图片

创建 OSSTest 测试类,创建一个存储空间。

public class OSSTest {
    
    @Test
    public void test() {
        //地域节点(Endpoint)的配置
        String endpoint = "oss-cn-shenzhen.aliyuncs.com";
        
        //RAM子用户的key值
        String accessKeyId = "LTAI5t9v9PdmFp4HkkHS1599";
        String accessKeySecret = "YAM1HBvHOUcKdtGq7vWsrzRRGCJNkG";
        
        //声明OSS云存储的Bucket名称。
        String bucketName = "oss-filetest-01";
        
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        
        // 创建存储空间。
        ossClient.createBucket(bucketName);
        
        // 关闭OSSClient。
        ossClient.shutdown();
    }
}

阿里云的OSS云存储的使用_第23张图片

Bucket的命名规范如下:

  • ① 只能包括小写字母、数字和短横线(-)
  • ② 必须以小写字母或者数字开头;
  • ③ 长度必须在 3-63 字节之间。

下面是一种命名的错误情况:

通过查看阿里云的OSS云存储的Bucket列表,可以看到【Bucket列表】中,创建了【oss-filetest-01】存储空间。

阿里云的OSS云存储的使用_第24张图片

通过查看【oss-filetest-01】的概览可知,创建的存储空间是使用默认值的,比如存储空间的访问权限是私有的等。

获取OSS的访问权限

可以通过代码获取存储空间的访问权限。

public class OSSTest {
    ...
	@Test
    public void getBucketAclTest() {
        //地域节点(Endpoint)的配置
        String endpoint = "oss-cn-shenzhen.aliyuncs.com";

        //RAM子用户的key值
        String accessKeyId = "LTAI5t9v9PdmFp4HkkHS1599";
        String accessKeySecret = "YAM1HBvHOUcKdtGq7vWsrzRRGCJNkG";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        //指定查询的存储空间的Bucket名。
        String bucketName = "oss-filetest-01";
        // 获取存储空间的访问权限。
        AccessControlList bucketAcl = ossClient.getBucketAcl(bucketName);
        System.out.println(bucketAcl);

        // 关闭OSSClient。
        ossClient.shutdown();
    }
}

运行结果

阿里云的OSS云存储的使用_第25张图片

设置OSS的访问权限

除了获取存储空间的访问权限外,还可以设置存储空间的访问权限。

public class OSSTest {
    ...
	@Test
    public void setBucketAclTest() {
        //地域节点(Endpoint)的配置
        String endpoint = "oss-cn-shenzhen.aliyuncs.com";

        //RAM子用户的key值
        String accessKeyId = "LTAI5t9v9PdmFp4HkkHS1599";
        String accessKeySecret = "YAM1HBvHOUcKdtGq7vWsrzRRGCJNkG";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        //指定查询的存储空间的Bucket名。
        String bucketName = "oss-filetest-01";

        // 设置存储空间的访问权限
        ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);

        // 获取存储空间的访问权限
        AccessControlList bucketAcl = ossClient.getBucketAcl(bucketName);
        System.out.println(bucketAcl);

        // 关闭OSSClient。
        ossClient.shutdown();
    }
}

阿里云的OSS云存储的使用_第26张图片

查看存储空间的概览可知,存储空间的访问权限已经被修改为公共读。

阿里云的OSS云存储的使用_第27张图片

阿里云的OSS云存储的访问权限有如下三种:

取值

描述

方法

私有

存储空间的拥有者和授权用户有该存储空间内的文件的读写权限,其他用户没有权限操作该存储空间内的文件。

CannedAccessControlList.Private

公共读

存储空间的拥有者和授权用户有该存储空间内的文件的读写权限,其他用户只有该存储空间内的文件的读权限。请谨慎使用该权限。

CannedAccessControlList.PublicRead

公共读写

所有用户都有该存储空间内的文件的读写权限。请谨慎使用该权限。

CannedAccessControlList.PublicReadWrite

判断存储空间是否存在

使用 doesBucketExist() 方法判断存储空间是否存在。

public class OSSTest {
    ...
	@Test
    public void doesBucketExistTest() {
        //地域节点(Endpoint)的配置
        String endpoint = "oss-cn-shenzhen.aliyuncs.com";

        //RAM子用户的key值
        String accessKeyId = "LTAI5t9v9PdmFp4HkkHS1599";
        String accessKeySecret = "YAM1HBvHOUcKdtGq7vWsrzRRGCJNkG";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        //指定查询的存储空间的Bucket名。
        String bucketName = "oss-filetest-01";

        // 判断指定的存储空间是否存在。若存在返回true,不存在返回false
        boolean exist = ossClient.doesBucketExist(bucketName);
        System.out.println(exist);

        // 关闭OSSClient。
        ossClient.shutdown();
    }
}

运行结果

阿里云的OSS云存储的使用_第28张图片

关于OSS的其他相关运用,可以通过查询官方文档进行测试,这里不再测试。

你可能感兴趣的:(中间件,阿里云,服务器,java)