参考文档 : 点击查看
文章目录
运行环境
- Chrome
- JDK8
- IDEA 2021.3 旗舰版
- Visual Status Code 2022 带 Live Server插件(可快速解析Web的HTML、CSS、JavaScript)
一、OSS相关概念
官方文档:点击查看
OSS 全称 Object Storage Service,即对象存储服务,是由阿里云提供的海量、安全、低成本、高可靠的云存储服务。
OSS具有与平台无关的RESTful API接口,可在任意应用、任意地点存储与访问任何类型的数据。网站的图片、视频等文件就可以存放在OSS中(海量数据,交给阿里云平台维护,安全可靠)
1.1 Storage Class 存储类型
有标准、低频访问、归档、冷归档四种存储类型,价格依次递减
-
标准:高持久、高可哦那个、高性能,支持频繁的数据访问
-
低频访问:适合长期保存不经常访问的数据(平均每月1-2次频率)
-
归档:适合需长期保存(建议半年以上)的数据
-
冷归档:适合超长事件存放的极冷数据
1.2 Bucket 存储空间
存储空间是用于存储对象(Object)的容器。
具有各种配置属性,包括地域、访问权限、存储类型等。
1.3 Object 对象
OSS存储数据的基本单元,同时被称作OSS的文件。
Object 由Object Meta、Data和Key组成,即元信息、用户数据和文件名。
Object 由 Bucket内部唯一的Key来表示
Object Meta 元信息是一组键值对,表示了Object的一些属性,比如最后修改时间、大小等信息,同时也可以自定义信息。
1.4 Region 地域
OSS的数据中心所在物理位置,在创建Bucket时徐选择合适的地域。
1.5 Endpoint 访问域名
OSS对外服务的访问域名,通过域名存储、获取对象。
1.6 AccessKet 访问密钥
AccessKey 简称AK,指访问身份验证中用到的AK ID 和 AK Secret,前者用于标识用户,后者表示该用户的密钥。
二、使用阿里云OSS服务
2.1 开通OSS服务
访问阿里云官网:https://oss.console.aliyun.com/
注册账号(过程略)后搜索OSS对象存储服务,点击立即开通
2.2 创建 Bucket(存储空间)
在OSS管理页面中创建存储空间(Bucket)
按照自己的需求进行设置
2.3 在网页上传文件
用途一:手动上传文件
点击详情可直接下载文件或者复制文件的URL
2.4 创建用户,生成AccesskeyID与Secret
AccessKey就相当于一个账号和密码,可以视为小号,这里主要用于访问之前创建的存储空间。
将鼠标移至阿里云网站右上角的头像,选择访问控制,
第二步,点击创建用户
第三步,设置登录名称和显示名称后,选中Open API 调用访问选择框
第四步,创建用户成功,自动生成了AccessKey对应的ID和Secret
2.5 为用户添加读权限
第一步,选中当前的用户,点击添加权限
第二步,根据需要添加权限,比如管理OSS权限还有只读OSS的权限
三、使用JavaSDK操作OSS
3.1 操作一:测试连接
官方文档:点击查看
第一步,Maven引入依赖
pom.xml
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.13.2</version>
</dependency>
第二步,编写Java代码,(其他地域的访问映射 点击访问)
package com.uni;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
public class testOSS {
public static void main(String[] args) throws Exception {
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。关于其他Region对应的Endpoint信息,请参见访问域名和数据中心。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "创建用户时生成的Bucket ID";
String accessKeySecret = "创建用于时生成的Bucket Secret";
String bucketName = "创建的用户";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 创建存储空间。
ossClient.createBucket(bucketName);
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
S