文章目录
OSS
1 存储分类
- 块存储
- 文件存储NAS
- 对象存储OSS
2 对象存储OSS
2.1 概念组成
海量存储空间,适合存储互联网上产生的图片短视频等海量非结构化数据,可通过API随时随地访问
2.2 存储优势
-
具有ARI接口,可以在任何应用时间地点存储和访问任意数据
-
可以使用阿里云提供的API SDK接口移入或移出阿里云OSS
-
可以选择标准存储,也可以选择成本更低、存储期限更长的低频访问存储和归档存储作为不经常访问数据的存储方式
-
灵活的鉴权授权机制
-
采取数据冗余存储机制,确保可靠性和可用性
2.3 与自建服务器的优势
对比项 | OSS | 自建服务器存储 |
---|---|---|
可靠性 | 规模自动扩展 数据多重冗余备份 | 受限于硬件可靠性,一旦磁盘坏道,容易出现不可逆转的数据丢失,人工恢复困难 |
安全 | 多用户资源隔离 异地容灾 | 需要另外购买清洗和黑洞设备 单独实现安全机制 |
成本 | 多线BGP骨干网络 无带宽限制 上行流量免费 无需运维和托管 | 存储受硬盘容量限制,需要人工扩容 单线双线接入速度慢 有带宽限制 峰值时需要人工扩容 专人运维 成本高 |
数据处理能力 | 提供图片处理,鉴黄服务,音频转码,内容加速分发 | 额外采购 单独部署 |
2.4 Bucket存储空间
存储对象的容器,所有对象必须隶属于某个存储空间
名称必须全局唯一,一旦创建之后无法修改名称
存储空间内部的的对象数目没有限制
命名规范
只能包括小写字母、数字和短横线-
必须小写字母或数字开头和结尾
长度必须在3-63字节之间
2.5 存储类型
- 标准存储类型 支持频繁的数据访问 各类社交分享类图片 应用 网站的合适选择
- 低频访问存储类型 长期保存不经常访问的数据 适合各类数据的长期备份 支持实时数据访问
- 归档存储类型 适合长期保存的档案数据 医疗影像 科学资料
对比指标 | 标准 | 低频 | 归档 |
---|---|---|---|
冗余类型 | 本地冗余和同城冗余 | 本地冗余和同城冗余 | - |
对象最小计量大小 | 按照实际大小计算 | 64kb | 64kb |
最少存储时间 | 无时间要求 | 30d | 60d |
数据取回费用 | 不收取费用 | 按照获取数据量收取 | 按照实际解冻数据量收取 |
数据访问特点 | 实时访问ms延迟 | 实时访问ms延迟 | 数据先解冻后才能读取 |
图片处理 | 支持 | 支持 | 支持但要先解冻 |
2.6 对象
2.6.1 命名规范
使用UTF-8编码
长度必须在1-1023字节
不能正斜线和反斜线开头
2.6.2 存储空间与对象关系
对象是OSS存储数据的基本单元,由元信息、用户数据和文件名组成
对象由存储空间内部唯一的Key来标识,元信息表示对象的一些属性,比如大小等
2.7 其他概念
- 地域Region 距离更近的地域访问速度更快 创建BUCKET时指定的,一旦指定不能更改
- 访问域名Endpoint OSS对外服务的访问域名 访问到不同的地域时,需要不同的域名,通过内网或外网访问同一地域所需域名也是不同的
- 访问秘钥 AccessKey
- 强一致性 操作要么成功要么失败,不会存在中间状态的Object
- 数据冗余机制 将每个对象的不同冗余存储在同一区域内多个设施的多个设备上
2.8 OSS应用场景
图片和音视频等应用的海量存储 支持流式写入和文件写入两种方式
网页或者移动应用的静态和动态资源分离 提升同一文件被同一地区客户大量重复并发下载的体验
云端数据处理
MTS帮助将存储在OSS的音视频转码成可播放格式
2.9 计费方式
- 按量付费,每小时统计前一小时的实际用量并从账户中扣除
- 包年包月,预先购买指定资源包,使用资源后,扣除相应的额度,更加优惠
费用组成
流量费用根据用户使用OSS的下行流量多少收费,上行流量和通过内网访问的流量免费
2.10 OSS开通流程
阿里云OSS将数据文件以对象的形式上传到存储空间
- 创建一个或多个存储空间,向每个存储空间添加一个或多个文件
- 通过获取已上传文件的地址进行文件的分享和下载
- 修改存储空间或文件的读写权限来设置访问权限
- 通过阿里云管理控制台、各种便捷工具以及丰富的SDK包执行基本和高级OSS操作
2.10.1 存储空间权限
- 私有 只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问
- 公共读写 任何人可以对该存储空间中的文件进行读操作
可授权用户
当前账号:主账号或拥有此Bucket管理权限及RAM控制台ListUsers权限的子账号
其他账号:当需要给其他账号授予Bucket访问权限,或账号无ListUsers权限时,直接输入被授权账号的UID
匿名账号: 若需要给所有用户授权可以选择匿名账号
2.10.2 下载文件
其他访问者进行下载需要获取文件URL,单击目标文件的文件名或其右侧的详情,在打开的详情页面中单击复制URL
2.10.3 删除文件
单个删除
批量删除
2.10.4 碎片管理
上传时,文件会被切成若干个碎片,讲这些碎片上传到OSS服务端,可以调用CompleteMultipartUpload将这些碎片组合成一个完整的文件
可以设置生命周期管理来定期清理不需要的碎片
碎片在完成组合前,不能被读取,删除Bucket时,必须先删除文件和碎片
2.11 监控服务
提供系统基本运行状态,性能以及计量等方面的监控数据指标,提供自定义报警服务,帮助您跟踪请求,分析使用情况,统计业务趋势,及时发现诊断系统的相关问题
监控存储空间,对OSS服务请求的PV访问量的监控,对OSS服务请求的UV访问人次的监控
用户层级
Bucket层级
2.12 数据处理
1.图片处理
默认不保存处理后的图片
缩放 裁剪 旋转 效果 格式转换 获取图片信息 图片水印
2.视频截帧
3.Select扫描
4.数据取回
2.13 地域选择
访问OSS | 说明 | 访问方式一 | 访问方式二 |
---|---|---|---|
外网 | 互联网,外网访问流入流量免费,流出流量收费 | 以URL形式来表示OSS资源 | OSS SDK配置外网访问域名 |
内网 | 内网是阿里云同地域产品间的内部通信网络 内网流入流出均免费,请求次数会计费 | 以URL形式来表示OSS资源 | ECS 使用OSS SDK 配置内网Endpoint |
2.13 生命周期
使用限制
2.14 防盗链
2.14.1 设置参数
设置防盗链功能,包括以下参数
-
白名单,仅允许指定的域名访问OSS资源
-
如果不允许空Referer,则只有HTTP或HTTPSheader 中包含Referer 字段的请求才能访问OSS
2.14.2 验证防盗链
2.15 API开发
2.16 OSS数据迁移
使用在线迁移服务,只需在控制台填写源数据地址和目标OSS地址信息,并创建迁移任务即可,可以通过控制台管理迁移任务,查看迁移进度,生成迁移报告,查看迁移文件列表