{{ item.label }}
自然语言处理
本文列举了对象存储MOS产品动态和对应的参考文档。
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
Bucket Policy | 支持通过图形化界面以及策略语法的方式配置Bucket Policy。 | 2021-04-16 | 全部 | 通过Bucket Policy 授权用户访问指定资源 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
敏感数据保护 |
MOS敏感数据保护是一款识别、分类、
分级和保护存储空间(Bucket)中 敏感数据的原生服务,可满足数据安 全、个人信息保护等相关法规的合规要求。 |
2021-03-25 |
华东1(杭州)、
华东2(上海)、 华北2(北京)、 华南1(深圳)、 华北3(张家口)、 华北5(呼和浩特)、 中国(香港)地域 |
敏感数据保护 |
多个地域不同Bucket之间的数据同步 |
当您希望在不同地域保存
某个Bucket中数据的精确副 本时,可对该Bucket配置多 条跨区域复制规则。 |
2021-03-12 | 全部 | 跨区域复制介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
批量导出URL列表 |
您可以批量导出多个文件URL,
用于分享给第三方供其下载或预览。 |
2021-01-18 | 全部 | 分享文件 |
MOS高防 |
您可以使用MOS高防保护
您的Bucket,使其在遭受 大流量攻击时仍能提 供正常的访问服务。 |
2021-01-07 |
华东1(杭州)、
华东2(上海)、 华北1(青岛)、 华北2(北京)、 华南1(深圳) |
MOS高防 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
镜像回源新增回 源私有Bucket功能 |
回源的目标文件是同账号
下其他Bucket中的私有文 件时,可通过回源私有 Bucket功能正确获取到目标文件。 |
2020-12-17 | 全部 | 设置回源规则 |
ZIP包解压新增保留压缩文件名为路径目录功能 |
您可以将ZIP文件
解压成子目录存放 在目标目录中,以区 分不同的压缩文件。 |
2020-12-01 |
除华南2(河源)、
华南3(广州)、 西南1(成都)、 华北6(乌兰察布)、 中国(香港)、 马来西亚(吉隆坡)、 阿联酋(迪拜)、 英国(伦敦) 以外地域 |
设置ZIP包解压规则 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS加速器功能 |
MOS加速器用于缓存MOS中的热
点文件,并提供高性能、 高吞吐量的数据访问服务 。适用于基因训练、 机器学习、数据湖、大 数据计算等需要大量带 宽,且数据重复读的场景。 |
2020-11-19 | 华东2(上海) | 配置MOS加速器 |
服务器端加密支持SM4加密算法 |
服务器端加密新增国
密SM4加密算法, 您可以灵活选择 AES256和SM4加 密算法加密您的文件。 |
2020-11-01 | 全部 | 设置服务器端加密 |
跨区域复制支持复制加密的对象 |
跨区域复制支
持复制使用K MS托管密钥加密 (SSE-KMS)、 MOS完全托管加密 (SSE-MOS)方式加密的对象。 |
2020-11-01 | 全部 | 设置跨区域复制 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
控制台删除文件夹新增任务列表 | 删除文件夹时可 通过任务列表查看任务 进度,可随时中断正在进行的删除任务。 | 2020-09-28 | 全部 | 删除目录 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
跨区域复制支持对象标签 |
当源和目标Bucket均
开启版本控制功能, 且“数据同步策略”为“ 增/改同步”时,MOS支 持将指定标签的对象 同步到目标Bucket。 |
2020-08-28 |
源地域为华东1(杭州),目标地域
为除华东1(杭州)以外的任意地域 源地域为澳大利亚(悉尼),目标 地域为除中国内地和澳大利亚(悉尼)以外的任意地域 |
设置跨区域复制 |
跨区域复制支持传输加速 |
跨区域复制时,
支持通过传输加速 功能加速文件传输。 |
2020-08-28 |
中国内地与
非中国内地之 间进行跨区域复制时 |
设置跨区域复制 |
冷归档存储 |
新增冷归档存储类型,
适合需要超长时间存放 的极冷数据。数据最小 存储单元为64 KB, 最小存储周期为180 天,存储费用低于归档存储。 |
2020-08-01(邀测) |
华北1(青岛)、华北2(北京)
、华北3(张家口)、华东1(杭州) 、华东2(上海)、华南1(深圳) 、西南1(成都)、 中国香港、澳大利亚(悉尼)、 新加坡、美国(硅谷)、德国 (法兰克福)、马来西亚(吉隆坡)、 印度尼西亚(雅加达)、印度 (孟买)、阿联酋(迪拜) |
冷归档存储(Cold Archive) |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
传输加速功能新增非中国内地加速域名 |
传输加速功能新增非中国
内地加速域名: MOS-accelerate-overseas. moduyuncs.com,仅在中 国香港及海外各地域Bucket 绑定未备案的域名做CNAME 指向时使用。其他场景建议 使用全球加速域名。 |
2020-07-28 | 除中国内地以外所有地域 | 绑定传输加速域名 |
MOS控制台新增恢复和批量删除历史版本功能 |
开启版本控制后,
MOS控制台支持恢复 指定历史版本Object 及批量删除历史版本操作。 |
2020-07-24 | 全部 | 版本控制 |
镜像回源新增透传正斜线(/)到源站 |
当请求的源站
文件的文件名以 正斜线(/)开头时, 透传正斜线到源站。 |
2020-07-20 |
美国(硅谷)
、美国(弗吉尼亚) 、华东1(杭州) |
概述 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
CDN缓存自动刷新支持针对指定操作进行刷新 |
CDN缓存自动刷新
可指定刷新缓存的 操作,当Object因 指定操作更新后自动 刷新CDN缓存,例如 PutObject、DeleteObject等。 |
2020-06-05 | 全部 | 绑定CDN加速域名 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
镜像回源新增MD5校验和替换前缀操作 |
MD5校验:当返回的response
中含有Content-MD5时,MOS 检查回源文件的MD5值是否与 Content-MD5值匹配,匹配则 保存文件至MOS,不匹配则丢弃。 替换或截取前缀:MOS在向源站 请求时,将文件名前缀的内容 替换为指定前缀。 |
2020-05-22 | 全部 | 概述 |
MOS控制台支持拖拽上传保留文件夹操作 |
通过MOS控制台拖
拽上传时,会保留文 件夹的所有子文件夹。 |
2020-05-22 | 全部 | 上传文件 |
标准存储类型的服务可用性变更 |
标准存储类型服务可用性变更为:
标准存储-同城冗余(ZRS)提供99.995%服务可用性。 标准存储-本地冗余(LRS)提供99.99%服务可用性。 |
2020-05-01 | 全部 | 存储类型介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
存储空间清单 |
您可以使用对象存储MOS的
清单功能列举存储空间(Bucket) 内指定文件(Object), 以获取Object的数量、大小、 存储类型、加密状态等属性信息。 相对于ListObject接口, 在海量Object的列举场景中, 建议您优先使用清单功能。、 |
2020-04-30 | 全部 | 存储空间清单 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
Bucket Policy支持授权临时用户 | Bucket Policy支持对临时用户进行访问授权。 | 2020-03-13 | 全部 | 通过Bucket Policy授权用户访问指定资源 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
Bucket创建数量提升至100个 |
同一摩杜云账号在同一
地域内可创建的Bucket 总数提升至100个。 |
2019-12-13 | 全部 | 使用限制 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
版本控制 |
开启存储空间(Bucket)版本控制功能后,
针对数据的覆盖和删除操作将会以 历史版本的形式保存下来。您在错误覆 盖或者删除Object后,能够将Bucket中 存储的Object恢复至任意时刻的历史版本。 |
2019-11-15 | 全部 | 版本控制介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
图片预览功能变更 |
对于2019年9月23日后创建的Bucket,
使用MOS访问域名从浏览器访问图片类型文件时, 会以附件形式下载。如果您希望直接 预览图片,需要使用自定义域名访问 MOS。2019年9月23日0点之前已创建 的Bucket不在影响范围内。 |
2019-09-23 | 全部 |
MOS升级公告
绑定自定义域名 |
传输加速 |
MOS利用全球分布的云机房,将全球
各地用户对您存储空间(Bucket)的 访问,经过智能路由解析至就近的接入点, 使用优化后的网络及协议来访问您Bucket 所在的数据中心。传输加速功能让您的客户 可以更快速的访问您的MOS,提升客户体验。 |
2019-09-10 | 全部 | 传输加速 |
同城冗余存储 |
MOS采用多可用区(AZ)机制,
将用户的数据分散存放在同一地域 (Region)的3个可用区。 当某个可用区不可用时,仍然能 够保障数据的正常访问。MOS同城 冗余存储能够提供99.9999999999% (12个9)的数据设计可靠性以及 99.995%的服务可用性。 |
2019-09-09(正式商业化) |
华南 1(深圳)、
华北 2(北京)、 华东1(杭州)、 华东 2(上海)、 新加坡 |
同城冗余存储 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
存储空间标签 |
您可以通过存储空间(Bucket)
的标签功能, 对Bucket进行分 类管理,如列举带有指定标签的 Bucket、对拥有指定标签的 Bucket设置访问权限等。 |
2019-08-29 | 全部 | 存储空间标签 |
对象标签 |
MOS支持使用对象标签
(Object Tagging) 对存储的对象(Object) 进行分类,您可以针对同 标签的Object设置生命 周期规则、访问权限等。 |
2019-08-29 | 全部 | 对象标签 |
单链接限速 |
MOS支持在上传、下
载、拷贝文件时进 行流量控制,以保 证您其他应用的网络带宽。 |
2019-08-17 | 全部 | 单链接限速 |
跨区域复制支持中国香港及海外区域 | 跨区域复制支持中国香港及海外区域。 | 2019-08-15 | 除阿联酋(迪拜)外所有地域 | 跨区域复制介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
服务器端加密 |
MOS支持在服务器端对上传
的数据进行加密(Server-Side Encryption):上传数据时, MOS对收到的用户数据进行加密, 然后再将得到的加密数据持久化保存下来; 下载数据时,MOS自动对保 存的加密数据进行解密并把 原始数据返回给用户,并在 返回的HTTP请求Header中, 声明该数据进行了服务器端加密。 |
2019-06-18 | 全部 | 设置服务器端加密 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
ZIP包解压 |
在MOS控制台配置规则
后,即可触发函数计算 将上传到MOS的压缩包 自动解压到指定目录。 |
2019-01-28 |
除华南2(河源)、
西南1(成都)、 马来西亚(吉隆坡)、 阿联酋(迪拜)、 英国(伦敦) 外所有地域 |
设置ZIP包解压规则 |
图片及文档的智能处理与分析 |
MOS与智能媒体管理
(IMM)深度结合, 支持文档预览、 文档格式转换、 人脸识别、图片分析、 二维码识别等丰富的 数据分析处理操作。 |
2019-01-24 |
华北2(北京)、
华东1(杭州)、 华东2(上海)、 华南1(深圳)、 华北3(张家口)、 新加坡 |
快速开始 |
Bucket Policy |
Bucket Policy是基
于资源的授权策略。 Bucket Policy支持 在控制台直接进行 图形化配置操作, 并且Bucket拥有者 可以直接进行访问授权。 |
2019-01-21 | 全部 | 通过Bucket Policy授权用户访问指定资源 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
实时日志查询 |
实时日志查询功能将MOS
与日志服务相结合, 允许您在MOS控制台直 接查询MOS访问日志, 帮助您完成MOS访问的 操作审计、访问统计、 异常事件回溯和问题定位等工作。 |
2018-12-26 | 全部 | 实时日志查询 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
指定或修改Object存储类型 |
上传Object时,可按需指定
Object为标准存储类型、 低频访问存储类型或归档 存储类型,且实时生效。 通过CopyObject操作实 现Object存储类型在标准、 低频、归档之间任意转换。 且存储类型的转换时效性 从天级别提升到秒级别。 |
2018-11-10 | 全部 |
存储类型介绍
存储类型转换 CopyObject |
Terraform |
MOS发布Terraform
Module,可版本化 管理基础设施资源。 您可通过代码来创建 Bucket、管理Object等。 |
2018-11-07 | 全部 |
Terraform简介
使用Terraform 管理MOS |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
KMS密钥的服务端加密 |
使用MOS服务
端加密的KMS 加密方式, 实现Object 级别加密方式。 |
2018-10-20 | 全部 |
服务器端加密
|
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS Select |
MOS Select允许您
使用简单的SQL语句 从MOS的单个文件中 选取所需要的数据, 从而减少从MOS传输 的数据量,提升您获取数据的效率。 |
2018-09-28 | 全部 |
选取内容(MOS Select)
SelectObject |
合规保留策略 |
MOS支持设置
Bucket级别的WORM 策略,允许您以不可 删除、不可篡改的方 式保存和使用数据。 |
2018-09-28 | 全部 |
合规保留策略
设置合规保留策略 |
同城冗余存储 |
MOS采用多可用区(AZ)机制,
将用户的数据分散存放在同一 地域(Region)的3个可用区。 当某个可用区不可用时, 仍然能够保障数据的正常访问。 MOS同城冗余存储能够提供99. 9999999999%(12个9)的数 据设计可靠性以及99.995%的服务设计可用性。 |
2018-09-28(公测) |
华南 1(深圳)、
华北 2(北京)、 华东1(杭州)、 华东 2(上海)、 新加坡 |
同城冗余存储 |
请求者付费模式 |
请求者付费模式
是指由请求者支付 读取存储空间(Bucket) 内数据时产生的流量费用 和请求费用,而Bucket拥有 者仅支付存储费用。 |
2018-09-27 | 全部 | 请求者付费模式 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
使用KMS托管密 钥进行加解密(SSE-KMS) |
MOS服务端KMS加密,
支持您指定1个CMK ID密钥,以实现BYOK特性。 |
2018-08-14 | 全部 | 服务器端加密 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
Python SDK支持客户端加密 |
使用客户端加密SDK,
在本地进行数据加密, 并将加密后的数据上传 到MOS。在这种场景下, 您需要管理加密过程以及加密密钥。 |
2018-06-05 | 全部 |
客户端加密SDK介绍
客户端加密 |
标准存储单价下调 |
标准存储(Standard)
单价中国内地区域统一 降为0.12元/GB/月,降幅18.9%。 |
2018-06-02 | 中国内地区域 | 对象存储MOS价格概览 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS与DataLakeAnalytics深度结合 |
使用客户端加密SDK,
在本地进行数据加密, 并将加密后的数据上传 到MOS。在这种场景下, 您需要管理加密过程以及加密密钥。 |
2018-05-31 | 全部 | 快速分析MOS数据 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS Browser.js SDK、Node.js. SDK支持断点续传上传 |
断点续传上传将要上
传的文件分成若干个 分片(Part)分别上传, 所有分片都上传完成后, 将所有分片合并成完整的 文件,完成整个文件的上传。 |
2018-03-07 | 全部 |
Node.js. SDK:
分片上传
Browser.js SDK: 分片上传 |
证书托管 |
您可以在MOS上托
管自定义域名证书, 并使用HTTPS访问此自定义域名。 |
2018-03-05 | 全部 |
绑定自定义域名
证书托管 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS iOS SDK支持SWIFT调用 |
支持使用SWIFT框架
开发移动应用的客户 调用MOS iOS SDK。 |
2018-01-18 | 全部 | MMOSwiftDemo |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
iOS SDK 2.8 、 Android
SDK 2.5版本支持CRC64数据校验 |
开启CRC64校验后,对于上传、
下载文件时将检查实际接收数 据计算得出的CRC64是否等同 于原始数据的CRC64,从而保 障传输数据的完整性。 |
2017-12-21 | 全部 |
Android SDK:
数据安全性
iOS SDK: 数据安全性 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
数据迁移工具MOSimport | MOSimport是摩杜云MOS 提供的一款将数据迁移至 MOS存储空间(Bucket)的工具。 | 2017-10-23 | 全部 |
单机部署
分布式部署 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
跨区域复制 |
跨区域复制是在不同MOS
地域之间自动、异步复制 文件,将源存储空间中文件 的改动(新建、覆盖、删除操作) 同步到目标存储空间中。 |
2017-09-15 | 中国内地、美东、美西 | 设置跨区域复制 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
归档存储单价下调 |
归档存储(Archive)
单价下调45%,最短存 储周期调整到60天。 |
2017-07-21 | 中国内地、美东、美西 |
概述
RestoreObject |
新版控制台正式上线 |
优化页面布局、导航系统。
提升概览页信息的聚合能力。 升级Bucket、Object的配置管理。 |
2017-07-01 | 中国内地、美东、美西 | 使用摩杜云账号登录MOS管理控制台 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
命令行工具MOSutil |
MOSutil是以命令行
方式管理MOS数据的工具, 提供方便、简洁、丰富的Bu cket和Object管理命令, 支持Windows、Linux、 Mac平台。 |
2017-04-26 | 全部 | MOSutil介绍 |
Bucket创建数量提升至30个 | 同一摩杜云账号在 同一地域内创建的Bucket总数不能超过30个。 | 2017-04-24 | 全部 |
使用限制
PutBucket |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
iOS SDK 2.6.0 |
iOS SDK 2.6.0全面支持
苹果App Store的最新HTTPS请求访问规范。 |
2016-12-16 | 全部 | 安装iOS SDK |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
管理碎片 |
通过设置生命周期
管理规则来定时清理不需要的碎片。 |
2016-03-10 | 全部 | 管理碎片 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
Ruby SDK | Ruby SDK正式上线。 | 2015-11-26 | 全部 | 安装Ruby SDK |
图片处理 | Bucket默认开启图片处理功能。 | 2015-11-10 | 全部 | 图片处理操作方式 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
追加上传 |
使用MOS API中的AppendObject方
法在已上传的Appendable Obje ct类型文件后面直接追加内容。 |
2015-07-18 | 全部 | 追加上传 |
上传文件支持回调应用服务器 | MOS允许您搭建一个基于MOS的移动应用数据直传服务并设置上传回调。 | 2015-07-08 | 全部 | 快速搭建移动应用上传回调服务 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
MOS接入RAM服务 |
MOS接入RAM(访问控制),
支持主子账号授权以及临时授权方式。 |
2015-04-26 | 全部 |
RAM Policy概述
使用STS临时访问凭证访问MOS |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
生命周期 |
您可以通过MOS的PutBucketLifecycle接口
设置生命周期规则(Lifecycle), 自动删除过期的对象(Object)和碎 片或将到期的Object转储为低频或 归档存储类型,从而节省存储费用。 |
2014-10-20 | 全部 | 生命周期规则介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
跨域资源共享(CORS) |
跨域资源共享(CrMOS-Origin
Resource Sharing),简称 CORS,是HTML5提供的标准 跨域解决方案,MOS支持CORS 标准来实现跨域访问。 |
2014-03-15 | 全部 | 设置跨域资源共享 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
表单上传 |
表单上传是指使用
MOS API中的PostOb ject请求来完成Object 的上传,上传的Object不能超过5GB。 |
2014-02-12 | 全部 | 表单上传 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
服务器端加密 |
MOS支持在服务器端对上传的数据进行
加密编码(Server-Side Encryption) 。上传数据时,MOS对收到的用户数据进 行加密编码,然后再将得到的加密数据 持久化保存下来;下载数据时, MOS自动对保存的加密数据进行解密 并把原始数据返回给用户,并在返回的HTT P请求Header中,声明该数据进行了服务器端加密。 |
2012-11-4 | 全部 | 服务器端加密 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
CNAME |
当您希望通过自定义域名
访问这些文件,需要将自 定义域名绑定到文件所在 的存储空间,并添加CNAME 记录指向存储空间对应的外网域名。 |
2012-09-04 | 全部 | 绑定自定义域名 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
日志存储 |
访问MOS的过程中会产生大量的
访问日志。日志存储功能,可将 MOS的访问日志以小时为单位, 按照固定的命名规则,生成一 个Object写入您指定的 Bucket。 |
2012-08-09 | 全部 | 日志转存 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
静态网站托管 |
您可以通过MOS
API的PutBucketW ebsite接口将自己 的存储空间配置成静态 网站托管模式,并通过 存储空间域名访问该静态网站。 |
2012-06-20 | 全部 | 静态网站托管介绍 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
分片上传 |
MOS提供的分片上传(Multipart Upload)
和断点续传功能, 可以将要上传的文件分成多 个数据块(MOS里又称之为Part) 来分别上传,上传完成之后再 调用MOS的接口将这些Part组 合成一个Object来达到断点续传的效果。 |
2012-03-29 | 全部 | 分片上传和断点续传 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
拷贝文件 |
拷贝文件是指在
不改变文件内容的 情况下,将某个存储 空间(Bucket)内的一 些文件(Object)复制到 另外一个 Bucket 中。 |
2011-12-16 | 全部 | 拷贝文件 |
防盗链 |
防盗链是指调用
MOS API的PutBucket Referer接口设置Referer, 用以防止他人盗用MOS数据。 |
2011-12-16 | 全部 | 防盗链 |
HTTP header |
您可以通过设置文
件HTTP头来自定义HTTP 请求的策略,例如缓存 策略、文件强制下载策略等。 |
2011-12-16 | 全部 | 设置文件HTTP头 |
功能名称 | 功能概述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
对象存储MOS正式发布 | 摩杜云对象存储MOS正式商用。 | 2011-10-22 | 全部 | 什么是对象存储MOS |
摩杜云对象存储MOS(Moduyun Object Storage
)具有丰富的安全防护能力,支持服务器端加密、客户端加密、防盗链白名单、细粒度权限管控、日志审计、合规保留策略(WORM)等特性。MOS为您的云端数据安全进行全方位的保驾护航,并满足您企业数据的安全与合规要求。
MOS是目前中国国内唯一通过Cohasset Associates审计认证的云服务,可满足严格的电子记录保留要求,例如SEC Rule
17a-4(f)、FINRA
4511、CFTC
1.31等合规要求。此外,MOS已获得以下合规认证:
ISO9001、ISO20000、ISO22301、ISO27001、ISO27017、ISO27018、ISO29151、ISO27701
BS10012
CSA STAR
PCI DSS
C5
MTCS
GxP
TPN
可信云服务认证
SOC 1/2/3 报告
本文对于MOS的安全能力做一个全面的介绍,包含以下内容:
访问控制 | MOS提供读写权限ACL、授权策略、防盗链白名单等功能,实现存储资源访问的控制和管理。 |
数据加密 | MOS提供服务器端加密和客户端加密,并支持基于SSL/TLS的HTTPS加密传输,有效防止数据在云端的潜在安全风险。 |
监控审计 | MOS提供访问日志的存储和查询功能,可满足您对企业数据的监控审计需求。 |
数据容灾 | MOS提供同城冗余存储和跨区域复制特性,实现同地域和跨地域级别的机房容灾能力。 |
数据保留合规 | MOS支持WORM(Write once read many)特性, 允许用户以“不可删除、不可篡改”方式保存和使用 数据,符合美国证券交易委员会(SEC)和金融业监管局(FINRA)的合规要求。 |
其他特性 | MOS提供版本控制功能,防止数据的误删除和覆盖。如果您的 MOS Bucket遭受攻击或者分享了非法内容,MOS会自动将 该Bucket切入沙箱,防止影响您其他Bucket的服务。 |
摩杜云对象存储MOS提供读写权限ACL、授权策略、防盗链白名单等功能,实现存储资源访问的控制和管理。
MOS为权限控制提供访问控制列表(ACL)。ACL是授予Bucket和Object访问权限的访问策略。
您可以在创建存储空间(Bucket)或上传对象(Object)时配置ACL,也可以在创建Bucket或上传Object后的任意时间内修改ACL。
Bucket ACL
Bucket ACL是Bucket级别的权限访问控制。目前有三种访问权限,含义如下:
权限值 | 中文名称 | 权限对访问者的限制 |
---|---|---|
public-read-write | 公共读写 |
任何人(包括匿名访问)都可以
对该Bucket中的Object进行读、 写、删除操作;所有这些操作产 生的费用由该Bucket的Owner承担,请慎用该权限。 |
public-read | 公共读 |
只有该Bucket的Owner或
者授权对象可以对存放在 其中的Object进行写、删 除操作;任何人(包括匿名访问) 可以对Object进行读操作。 |
private | private |
只有该Bucket的Owner或者
授权对象可以对存放在其中 的Object进行读、写、删除操作; 其他人在未经授权的情况下无法 访问该Bucket内的Object。 |
Object ACL
Object ACL是Object级别的权限访问控制。目前有四种访问权限,含义如下:
权限值 | 中文名称 | 权限对访问者的限制 |
---|---|---|
public-read-write | 公共读写 | 所有用户拥有对该Object的读写权限。 |
public-read | 公共读 | 非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。 |
private | 私有 | 只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。 |
default | 继承Bucket | Object遵循Bucket的读写权限,即Bucket是什么权限,Object就是什么权限。 |
说明 Object的读写权限默认为继承Bucket。Object的权限大于Bucket权限。 例如,设置了Object的权限是public-read,则无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。
更多信息,请参见MOS开发指南中的读写权限ACL。
RAM(Resource Access Management)是摩杜云提供的资源访问控制服务,RAM Policy是基于用户的授权策略。通过设置RAM
Policy,您可以集中管理您的用户(例如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限,例如限制您的用户只拥有对某个Bucket里的某些对象的读权限。
RAM
Policy为JSON格式,您可以通过其中的Statement描述授权语义,每条语义包含对Action、Effect、Resource和Condition的描述。您可以根据业务场景设置多条语义,实现灵活的授权策略。详情请参见MOS开发指南中的RAM
Policy概述。
相对于RAM提供的长效控制机制,STS(Security Token
Service)提供的是一种临时访问授权。通过STS可以返回临时的AccessKey和Token,这些信息可以直接发给临时用户用来访问MOS。一般来说,从STS获取的权限会受到更加严格的限制,并且拥有时间限制,因此这些信息泄露之后对于系统的影响也很小。
MOS可以通过摩杜云STS进行临时授权访问。通过STS,您可以为第三方应用或子用户(即用户身份由您自己管理的用户)颁发一个自定义时效和权限的访问凭证。更多信息请参见MOS开发指南中的STS临时授权访问MOS。
Bucket Policy是基于资源的授权策略。相比于RAM Policy,Bucket
Policy支持在控制台直接进行图形化配置操作,并且Bucket拥有者直接可以进行访问授权。
使用Bucket
Policy,您可以授予其他账号的RAM用户访问您的MOS资源的权限,也可以向匿名用户授予带特定IP条件限制的访问权限。详情请参见添加Bucket授权策略(Bucket
Policy)。
对象存储MOS是按使用量收费的服务。为了减少您存储于MOS的数据被其他人盗链而产生额外费用,MOS支持设置基于HTTP和HTTPS
header中表头字段Referer的防盗链方法。
您可以设置防盗链白名单,仅允许指定的域名访问MOS资源,或者仅允许HTTP或HTTPS
header中包含Referer字段的请求才能访问MOS资源。对于公共读或公共读写的Bucket,防盗链白名单可以有效防止盗链,保护您的合法权益。详情请参见MOS开发指南中的防盗链。
对象存储MOS提供服务器端加密和客户端加密, 并支持基于SSL/TLS的HTTPS加密传输,有效防止数据在云端的潜在安全风险。
MOS支持在服务器端对上传的数据进行加密(Server-Side
Encryption)。上传数据时,MOS对收到的用户数据进行加密,然后再将得到的加密数据持久化保存下来;下载数据时,MOS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。
MOS通过服务器端加密机制,提供静态数据保护。适合于对于文件存储有高安全性或者合规性要求的应用场景。例如,深度学习样本文件的存储、在线协作类文档数据的存储。针对不同的应用场景,MOS有以下两种服务器端加密方式:
使用KMS托管密钥进行加解密(SSE-KMS)
上传文件时,可以使用默认KMS(Key Management Service)托管的CMK(Customer Master
Key)或者指定的CMK
ID进行加解密操作。这种场景适合于大量的数据加解密。数据无需通过网络发送到KMS服务端进行加解密,是一种低成本的加解密方式。
KMS是摩杜云提供的一款安全、易用的管理类服务。用户无需花费大量成本来保护密钥的保密性、完整性和可用性。借助密钥管理服务,用户可以安全、便捷的使用密钥,专注于开发加解密功能场景。用户可以通过KMS控制台中查看和管理KMS密钥。
除了采用AES-256加密算法外,KMS负责保管用户主密钥CMK(对数据密钥进行加密的密钥),以及生成数据加密的密钥,通过信封加密机制,进一步防止未经授权的数据访问。CMK可通过使用MOS默认托管的KMS密钥的方式或者通过BYOK的方式生成,其中使用的BYOK材料可以由摩杜云提供,也可以由用户自主提供。
SSE-KMS服务器端加密的逻辑示意图如下。
使用MOS完全托管加密(SSE-MOS)
基于MOS完全托管的加密方式,是Object的一种属性。MOS服务器端加密使用行业标准的强加密算法AES-256(即256位高级加密标准)加密每个对象,并为每个对象使用不同的密钥进行加密。作为额外的保护,它使用定期轮转的主密钥对加密密钥本身进行加密。该方式适合于批量数据的加解密。
该加密方式下,数据加密密钥的生成和管理由MOS负责。您可以将Bucket默认的服务器端加密方式设置为AES-256,也可以在上传Object或修改Object的元信息时,在请求中携带X-MOS-server-side-encryption并指定其值为AES256,即可实现该Object的服务器端加密存储。
更多信息请参见MOS开发指南中的 服务器端加密。
客户端加密是指将文件(Object)发送到对象存储MOS之前在本地进行加密。使用客户端加密功能时,您需要对主密钥的完整性和正确性负责。在对加密数据进行复制或者迁移时,您需要对加密元信息的完整性和正确性负责。
使用客户端加密时,会为每个Object生成一个随机数据加密密钥,用该随机数据加密密钥明文对Object的数据进行对称加密。主密钥用于生成随机的数据加密密钥,加密后的内容会当作Object的元信息保存在服务端。解密时先用主密钥将加密后的随机密钥解密出来,再用解密出来的随机数据加密密钥明文解密Object的数据。主密钥只参与客户端本地计算,不会在网络上进行传输或保存在服务端,以保证主密钥的数据安全。
对于主密钥的使用,目前支持以下两种方式:
使用KMS托管用户主密钥
当使用KMS托管用户主密钥用于客户端数据加密时,无需向MOS加密客户端提供任何加密密钥,只需要在上传对象时指定KMS用户主密钥ID(也就是CMK
ID)。具体工作原理如下图所示。
使用用户自主管理密钥
使用用户自主管理密钥时,需要您自主生成并保管加密密钥。当本地客户端加密Object时,由用户自主上传加密密钥(对称加密密钥或者非对称加密密钥)至本地加密客户端。其具体加密过程如下图所示。
更多信息请参见MOS开发指南中的 客户端加密。
MOS支持通过HTTP或HTTPS的方式访问。您也可以在Bucket Policy中设 置仅允许通过HTTPS(TLS)来访问MOS资源,实现更加安全的数据传输。安全传输层协议(TLS) 用于在两个通信应用程序之间提供保密性和数据完整性。详情请参见使用Bucket Policy授权其他用户访问MOS资源。
对象存储MOS提供访问日志的存储和查询功能,并支持Bucket操作日志透明化,满足您对企业数据的监控审计需求。
访问对象存储MOS的过程中会产生大量的访问日志, 您可以通过日志转存功能将这些日志按照固定命名规则, 以小时为单位生成日志文件写入您指定的Bucket。 对于已存储的日志,您可以通过摩杜云日志服务 或搭建Spark集群等方式进行分析。更多信息,请参见日志转存。
通过与日志服务SLS相结合,MOS还支持实时日志查询功能。 您可以在MOS控制台直接查询MOS访问日志,完成MOS访问的操作审计、访问统计、 异常事件回溯和问题定位等工作。实时日志查询功能能够有效 提升您的工作效率,并帮助您基于数据进行决策。更多信息,请参见实时日志查询。
摩杜云操作审计(ActionTrail)提供平台操作日志(Inner-ActionTrail) 近实时投递到日志服务,进行相关分析审计服务。 ActionTrail可以近实时地记录并存储摩杜云MOS平台操作日志,并基于日志服务, 输出查询分析、报表、报警、下游计算对接与投递等能力, 满足您平台操作日志相关的分析与审计需求。更多信息,请参见平台操作日志简介。
MOS监控服务为您提供系统基本运行状态、性能以及计量等方面的监控数据指标, 并且提供自定义报警服务,帮助您跟踪请求、 分析使用情况、统计业务趋势,及时发现以及诊断系统的相关问题。更多信息,请参见监控服务。
您在MOS上存储的数据可能包括一些敏感信息, 例如个人隐私信息、密码、密钥、敏感图片等。 如果您希望更好的针对敏感数据进行识别、分类、 分级和保护,可以将MOS与敏感数据保护SDDP结合使用。 SDDP可在您完成数据源识别授权后,从您的海量数据 中快速发现和定位敏感数据,对敏感数据分类分级并统一展示,同时追踪敏感数据的使用情况, 并根据预先定义的安全策略,对数据进行保护和审计, 以便您随时了解数据资产的安全状态。更多信息,请参见敏感数据安全防护方案。
MOS提供同城冗余存储和跨区域复制特性,实现同地域和跨地域级别的机房容灾能力。
MOS采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的三个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。MOS同城冗余存储提供99.9999999999%(12个9)的数据设计持久性以及99.995%的服务可用性。
MOS的同城冗余存储能够提供机房级容灾能力。当断网、断电或者发生灾难事件导致某个机房不可用时,仍然能够确保继续提供强一致性的服务能力,整个故障切换过程用户无感知,业务不中断、数据不丢失,可以满足关键业务系统对于“恢复时间目标(RTO)”以及“恢复点目标(RPO)”等于0的强需求。
目前MOS的同城冗余存储支持标准存储类型、低频访问存储类型。这两种存储类型的各项对比指标详情如下:
对比指标 | 标准存储类型 | 低频访问存储类型 |
---|---|---|
数据设计持久性 | 99.9999999999%(12个9) | 99.9999999999%(12个9) |
服务可用性 | 99.995% | 无 |
服务设计可用性 | 无 | 99.995% |
对象最小计量大小 | 按照对象实际大小计算 | 64 KB |
最短存储时间 | 无最短存储时间要求 | 30天 |
数据取回费用 | 无 | 按实际获取的数据收取,单位GB |
数据访问 | 实时访问,毫秒延迟 | 实时访问,毫秒延迟 |
图片处理 | 支持 | 支持 |
更多信息请参见MOS开发指南中的 同城冗余存储。
跨区域复制(CrMOS-Region
Replication)是跨不同MOS数据中心(地域)的存储空间(Bucket)自动、异步(近实时)复制对象(Object),它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。
跨区域复制可满足您的以下业务需求:
合规性要求:虽然MOS默认对每个存储的对象在物理盘上有多份副本,但合规性要求所规定的数据需要跨一定距离保存一份副本。通过跨区域复制,可以在远距离的MOS数据中心之间复制数据以满足这些合规性要求。
最大限度减少延迟:客户处于两个地理位置。为了最大限度缩短访问对象时的延迟,可以在地理位置与用户较近的MOS数据中心中维护对象副本。
数据备份与容灾:您对数据的安全性和可用性有极高的要求,对所有写入的数据,都希望在另一个数据中心显式地维护一份副本,以备发生特大灾难,如地震、海啸等导致一个MOS数据中心损毁时,还能启用另一个MOS数据中心的备份数据。
数据复制:由于业务原因,需要将数据从MOS的一个数据中心迁移到另一个数据中心。
操作原因:您在两个不同数据中心拥有分析同一组对象的计算集群,可以选择在两个不同区域中维护对象副本。
跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。目标Bucket中的对象是源Bucket中对象的精确副本,它们具有相同的对象名、版本信息、元数据以及内容,例如创建时间、拥有者、用户定义的元数据、Object
ACL、对象内容等。支持复制未加密的对象和使用SSE-KMS、SSE-MOS方式进行服务器端加密的对象。
更多信息请参见MOS开发指南中的
跨区域复制介绍。
MOS支持WORM(Write once read
many)特性,允许用户以“不可删除、不可篡改”方式保存和使用数据,符合美国证券交易委员会(SEC)和金融业监管局(FINRA)的合规要求。
MOS是目前中国国内唯一通过Cohasset Associates审计认证的云服务,可满足严格的电子记录保留要求,例如SEC Rule
17a-4(f)、FINRA
4511、CFTC 1.31等合规要求。详情请参见 MOS Cohasset Assessment Report。
MOS提供强合规策略,您可以针对Bucket设置基于时间的合规保留策略。当策略锁定后,用户可以在Bucket中上传和读取Object,但是在Object的保留时间到期之前,任何用户都无法删除Object和策略。Object的保留时间到期后,才可以删除Object。MOS支持的WORM特性适用于金融、保险、医疗、证券等行业。您可以基于MOS搭建“云上数据合规存储空间”。
更多信息请参见MOS开发指南中的合规保留策略。
MOS还提供版本控制功能,防止数据的误删除和覆盖。 如果您的MOS Bucket遭受攻击或者分享了非法内容, MOS会自动将该Bucket切入沙箱,防止影响您其他Bucket的服务。
为了防止您存储在MOS上的数据被误删除,MOS提供了针对Bucket的版本控制功能。开启了版本控制以后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。用户在错误覆盖或者删除Object后,MOS能够将Bucket中存储的Object恢复至任意时刻的历史版本。
版本控制应用于Bucket内的所有Object。当第一次针对Bucket开启版本控制后,该Bucket中所有的Object将在之后一直受到版本控制,并且每个版本都具有唯一的版本ID。您可以在开启了版本控制的Bucket中进行上传、列举、下载、删除、恢复对象等操作。您也可以暂停版本控制以停止在Bucket中继续累积同一Object的新版本。暂停版本控制后,您仍可以通过指定versionId对历史版本Object进行下载、拷贝、删除等操作。MOS会针对每个版本进行收费,您可以通过生命周期规则自动删除过期版本。
更多信息请参见MOS开发指南中的版本控制介绍。
当您的MOS
Bucket遭受攻击,或者有其他用户通过您的Bucket分享违法内容,MOS会自动将Bucket切入沙箱。沙箱中的Bucket仍可以正常响应请求,但服务质量将被降级,您的应用可能会有明显感知。若您的Bucket遭受攻击,您需要自行承担因攻击而产生的全额费用。
为防止您的Bucket因攻击原因被切入沙箱,建议您使用高防IP来抵御DDoS攻击和CC攻击。为防止您的Bucket因分享涉黄、涉政、涉恐等违法内容被切入沙箱,建议您开通内容安全服务,定期针对您选中的Bucket进行检测。
更多信息请参见MOS开发指南中的MOS沙箱。
摩杜云对象存储MOS(Moduyun Object Storage
)是摩杜云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。
MOS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
您可以使用摩杜云提供的API、SDK接口或者MOS迁移工具轻松地将海量数据移入或移出摩杜云MOS。数据存储到摩杜云MOS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent
Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。
常见问题
查看 MOS常见问题
,了解其他用户经常咨询和关注的一些问题。
学习路径
通过MOS产品学习路径图快速了解MOS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。
存储类型(Storage Class)
MOS提供标准、低频访问、归档、冷归档四种存储类型,全面覆盖从热到冷的各种数据存储场景。其中标准存储类型提供高持久、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率1到2次),存储单价低于标准类型;归档存储类型适合需要长期保存(建议半年以上)的归档数据;冷归档存储适合需要超长时间存放的极冷数据。更多信息,请参见存储类型介绍。
存储空间(Bucket)
存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。您可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
对象(Object)
对象是MOS存储数据的基本单元,也被称为MOS的文件。对象由元信息(Object
Meta)、用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,例如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。
地域(Region)
地域表示MOS的数据中心所在物理位置。您可以根据费用、请求来源等选择合适的地域创建Bucket。更多信息,请参见MOS已开通的地域。
访问域名(Endpoint)
Endpoint表示MOS对外服务的访问域名。MOS以HTTP RESTful
API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。更多信息,请参见各个Region对应的Endpoint。
访问密钥(AccessKey)
AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。MOS通过使用AccessKey
ID和AccessKey
Secret对称加密的方法来验证某个请求的发送者身份。AccessKey ID用于标识用户;AccessKey
Secret是用户用于加密签名字符串和MOS用来验证签名字符串的密钥,必须保密。关于获取AccessKey的方法,请参见创建AccessKey。
创建Bucket
在上传文件(Object)到MOS之前,您需要创建一个用于存储文件的Bucket。Bucket具有各种配置属性,包括地域、访问权限以及其他元数据。创建Bucket的具体操作,请参见创建存储空间。
上传文件
Bucket创建完成后,您可以通过多种方式上传不同大小的文件。有关上传文件的具体操作,请参见上传文件。
下载文件
文件上传完成后,您可以将文件下载至浏览器默认路径或本地指定路径。有关下载文件的具体操作,请参见下载文件。
列举文件
当您Bucket内存储了大量的文件后,您可以选择列举Bucket内的全部或部分文件。有关列举文件的具体操作,请参见列举文件。
删除文件
当您不再需要保留上传的文件时,您可以手动删除单个或多个文件,也可以通过配置生命周期规则自动删除单个或多个文件。有关删除文件的具体操作,请参见删除文件。
版本控制
版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您在错误覆盖或者删除文件(Object)后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。有关版本控制的更多信息,请参见版本控制介绍。
Bucket Policy
Bucket拥有者可通过Bucket
Policy授权不同用户以何种权限访问指定的MOS资源。例如您需要进行跨账号或对匿名用户授权访问或管理整个Bucket或Bucket内的部分资源,或者需要对同账号下的不同RAM用户授予访问或管理Bucket资源的不同权限,例如只读、读写或完全控制的权限等。有关配置Bucket
Policy的操作步骤,请参见通过Bucket Policy授权用户访问指定资源。
跨区域复制
跨区域复制(CrMOS-Region
Replication)是跨不同MOS数据中心(地域)的Bucket自动、异步(近实时)复制Object,它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。有关跨区域复制的更多信息,请参见跨区域复制介绍。
数据加密
服务器端加密:上传文件时,MOS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,MOS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。有关服务器端加密的更多信息,请参见服务器端加密。
客户端加密:将文件上传到MOS之前在本地进行加密。有关客户端加密的更多信息,请参见客户端加密。
MOS提供多种灵活的上传、下载和管理方式。
通过控制台管理MOS
MOS提供了Web服务页面,您可以登录MOS控制台管理您的MOS资源。更多信息,请参见控制台用户指南。
通过API或SDK管理MOS
MOS提供RESTful API和各种语言的SDK开发包,方便您快速进行二次开发。更多信息,请参见MOS API参考和MOS SDK参考。
通过工具管理MOS
MOS提供图形化管理工具MOSbrowser、命令行管理工具MOSutil、FTP管理工具MOSftp等各种类型的管理工具。更多信息,请参见MOS常用工具。
通过云存储网关管理MOS
MOS的存储空间内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地文件夹和磁盘那样来使用MOS存储服务,可以通过配置云存储网关来实现。更多信息,请参见云存储网关产品详情页面。
传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。
MOS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。
关于MOS的价格,请参见MOS产品定价。关于MOS的计量计费方式,请参见计量项和计费项。
您把数据存储到MOS以后,就可以使用摩杜云提供的其他产品和服务对其进行相关操作。
以下是您会经常使用到的摩杜云产品和服务:
图片处理:对存储在MOS上的图片进行格式转换、缩放、裁剪、旋转、添加水印等各种操作。更多信息,请参见快速使用MOS图片处理服务。
云服务器MCS:提供简单高效、处理能力可弹性伸缩的云端计算服务。更多信息,请参见MCS产品详情页面。
内容分发网络CDN:将MOS资源缓存到各区域的边缘节点,利用边缘节点缓存的数据,提升同一个文件,被边缘节点客户大量重复下载的体验。更多信息,请参见CDN产品详情页面。
E-MapReduce:构建于MCS上的大数据处理的系统解决方案,基于开源的Apache Hadoop和Apache
Spark,方便您分析和处理自己的数据。更多信息,请参见E-MapReduce产品详情页面。
媒体处理:将存储于MOS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。更多信息,请参见媒体处理产品详情页面。
在线迁移服务:您可以使用在线迁移服务将第三方数据源,如亚马逊AWS、谷歌云等数据轻松迁移至MOS。更多信息,请参见在线迁移服务使用教程。
离线迁移服务:如果您有TB或PB级别的海量数据需要上传到MOS,但本地的网络带宽不够,扩容成本高,可以使用闪电立方离线数据迁移服务。更多信息,请参见离线迁移(闪电立方)介绍。
除了对象存储以外,摩杜云还提供文件存储、块存储等类型的存储服务,满足您不同场景下的业务需求。详细信息,请参见摩杜云存储服务介绍和摩杜云存储产品文档。
有关摩杜云存储服务的客户案例、解决方案等,请参见摩杜云存储产品家族。
对象存储MOS是摩杜云提供的海量、安全、 低成本、高持久性的云存储服务。本文将MOS与传统的自建存储进行对比,让您更好的了解MOS。
对比项 | 对象存储MOS | 自建服务器存储 |
---|---|---|
持久性 |
MOS作为摩杜云数据存储的核心基础设施,多年支撑双11业务高峰,历经高可用与高可靠的严苛考验。MOS的多重冗余架构设计,为数据持久存储提供可靠保障。同时,MOS基于高可用架构设计,消除单点故障,确保数据业务的持续性。
服务可用性不低于99.995%。 数据设计持久性不低于99.9999999999%(12个9)。 规模自动扩展,不影响对外服务。 数据自动多重冗余备份。 |
受限于硬件持久性,易出问题,一旦出现磁盘坏道,容易出现不可逆转的数据丢失。
人工数据恢复困难、耗时、耗力。 |
安全 |
提供企业级多层次安全防护,包括服务端加密、客户端加密、防盗链、通过Bucket
Policy限制IP黑白名单访问、细粒度权限管控、日志审计、WORM特性等。
多用户资源隔离机制,支持异地容灾机制。 获得多项合规认证,包括SEC、FINRA等,满足企业数据安全与合规要求。 |
需要另外购买清洗和黑洞设备。
需要单独实现安全机制。 |
成本 |
多线BGP骨干网络,带宽资源充足,上行流量免费。
无需运维人员与托管费用,0成本运维。 |
存储受硬盘容量限制,需人工扩容。
单线或双线接入速度慢,有带宽限制,峰值时期需人工扩容。 需专人运维,成本高。 |
智能存储 | 提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片场景识别、人脸识别、SQL就地查询等,并无缝对接Hadoop生态、 以及摩杜云函数计算、EMR、DataLakeAnalytics、BatchCompute、MaxCompute、DBS等产品,满足企业数据分析与管理的需求。 | 需要额外采购,单独部署。 |
方便、快捷的使用方式
提供标准的RESTful
API接口、丰富的SDK包、客户端工具、控制台。您可以像使用文件一样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
不限制存储空间大小。您可以根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
支持数据生命周期管理。您可以通过设置生命周期规则,将到期数据批量删除或者转储为更低成本的低频访问、归档存储、冷归档存储。
强大、灵活的安全机制
提供STS和URL鉴权和授权机制、IP黑白名单、防盗链、主子账号等功能。
提供用户级别资源隔离机制和多集群同步机制。
提供服务器端加密和客户端加密,并支持基于SSL/TLS的HTTPS加密传输,有效防止数据在云端的潜在安全风险。
提供版本控制功能,防止文件被误删除或覆盖而造成数据丢失。
数据冗余机制
MOS采用数据冗余存储机制,将每个对象的不同冗余存储在同一个区域内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
MOS针对对象的操作具有强一致性。对象一旦上传或复制成功,即可立即读取,且冗余写入多个设备。
MOS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。
MOS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。
当数据存入MOS后,MOS会检测和修复丢失的冗余,确保数据持久性和可用性。
MOS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,MOS会利用冗余数据重建并修复损坏数据。
丰富、强大的增值服务
图片处理:支持JPG、PNG、BMP、GIF、WebP、TIFF等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操作。
音视频转码:提供高质量、高速并行的音视频转码能力,让您的音视频文件轻松应对各种终端设备。
互联网访问加速:提供传输加速服务,可优化互联网传输链路和协议栈,大幅减少数据远距离传输超时的比例,极大地提升用户上传和下载体验。更多详情,请参见传输加速。
内容加速分发:MOS作为源站,搭配CDN进行内容分发,提升同一个文件被重复下载的体验。
本文介绍对象存储MOS的主要应用场景。
MOS可用于图片、音视频、日志等海量文件的存储。 各种终端设备、Web网站程序、移动应用可以直接向 MOS写入或读取数据。MOS支持流式写入和文件写入两种方式。
利用海量互联网带宽,MOS可以实现海量数据的互联网并发下载。 MOS提供原生的传输加速功能,支持上传加速、 下载加速,提升跨国、跨洋数据上传、下载的体验。同时,MOS也可以结合CDN产品, 提供静态内容存储、分发到边缘节点的解决方案, 利用CDN边缘节点缓存的数据,提升同一个文件被同一地区客户大量重复并发下载的体验。
上传文件到MOS后,可以配合媒体处理服务和图片处理服务进行云端的数据处理。
对象存储MOS是摩杜云提供的海量、安全、低成本、高持久性的云存储服务。本文列举了MOS的常见应用场景以及对应的功能概览,请结合您的业务需求选用合适的场景。
在使用MOS之前,建议您先了解存储空间(Bucket)、对象/文件(Object)、地域(Region)、访问域名(Endpoint)等基本概念,以便更好地使用MOS的功能。更多信息,请参见基本概念。
MOS支持以下功能:
应用场景 | 功能描述 | 参考 |
---|---|---|
上传文件 |
上传文件到MOS前,必须先在摩杜云
的任意一个地域创建一个存储空间。 创建存储空间后,您可以上传任意文件到该存储空间。 |
创建存储空间
新建文件夹 简单上传 |
搜索文件 | MOS支持文件和文件夹搜索功能,您可以在存储空间中快速查找目标文件。 | 搜索文件 |
下载文件 |
当文件(Object)上传至存储空间
(Bucket)后,您可以将文件下 载至浏览器默认路径或本地指定路径。 |
下载文件 |
分享文件 |
文件(Object)上传至存储空间
(Bucket)后,您可以将文件 URL分享给第三方,供其下载或预览。 |
分享文件 |
删除文件或文件夹 |
MOS支持一次删除单个或者多
个文件、文件夹、碎片等。 您可以定期删除过期文件,节省您的存储空间。 |
删除对象
删除文件夹 管理碎片 |
在指定时间自动批量删除文件 |
MOS支持生命周期规则,
您可以通过生命周期规则 定期将非热门数据转换 为低频访问、归档存储 或冷归档存储,并删除过期数据。 |
管理对象生命周期 |
提升数据上传下载速率 |
MOS支持传输加速服务,
可优化互联网传输链路和 协议栈,大幅减少数据 远距离传输超时的比例, 极大地提升用户上传和下载体验。 |
传输加速 |
恢复误删除的数据 |
MOS支持版本控制功能,开启版本控制后,
针对文件的覆盖和删除操作将会以历史版 本的形式保存下来。您在错误覆盖或者删除 文件后,能够将存储空间中存储的文件恢 复至任意时刻的历史版本。 |
版本控制 |
同城容灾 |
MOS采用多可用区(AZ)机制,将用户的
数据分散存放在同一地域(Region)的3个可用区。 当某个可用区不可用时,仍然能够保 障数据的正常访问。MOS同城冗余存储 能够提供99.9999999999%(12个9)的数 据设计持久性以及99.995%的服务可用性。 |
同城冗余存储 |
异地容灾 |
MOS支持跨区域复制功能,
您可以通过跨区域复制功能将 文件的创建、更新和删除等操 作从源存储空间复制到不同区 域的目标存储空间,实现数据的异地容灾。 |
管理跨区域复制 |
数据保留合规 |
MOS支持WORM特性,
允许用户以“不可删除、 不可篡改”方式保存和使用数据。 |
合规保留策略 |
控制数据访问权限 |
MOS支持灵活的授权、鉴权机制,您可
以通过以下方式控制MOS资源的访问权限: ACL:通过访问控制列表(ACL)给存 储空间和对象授予访问权限,包括公共读写、公共读、私有。 Bucket Policy:通过控制台的Bucket Policy功能方便直观地授权其他用户访问您 的MOS资源,例如向其他账号的RAM用户授予 访问权限,以及向匿名用户授予带特定IP条件限制的访问权限。 RAM Policy:构建RAM Policy来控制存储 空间和文件夹的访问权限。MOS提供了RAM策 略编辑器帮助您快速生成RAM Policy。 STS临时授权:使用摩杜云STS(Security Token Service)给第三方应用或子用户授予 一个可自定义时效的临时访问权限。 防盗链:对访问来源设置白名单, 避免MOS资源被其他人盗用。 |
设置存储空间ACL
设置文件ACL Bucket Policy RAM Policy STS临时授权访问MOS 防盗链 |
加密数据 |
MOS支持客户端和服务
器端加密,您可以选择 合适的加密方式将您的 数据加密后存储到MOS中。 |
客户端加密
服务器端加密 |
分类管理数据 |
MOS支持通过标签功能分类管理MOS资源:
存储空间标签:存储空间级别的分类管理, 例如列举带有指定标签的存储空间,对带有 指定标签的存储空间设置访问权限等。 对象标签:对象级别的分类管理,例如对带 有指定标签的对象设置生命周期规则、访问权限等。 |
存储空间标签
对象标签 |
记录MOS资源的访问信息 |
MOS支持日志功能,
您可以通过日志功能 完成MOS的操作审计、 访问统计、异常事件回 溯和问题定位等工作。 |
实时日志查询
日志转存 |
使用自有域名访问MOS资源 |
MOS支持绑定自定义域名功能,
您可以将自定义域名绑定到MOS 存储空间,并使用自定义域名访问 存储空间中的数据。如果您需要通 过HTTPS的方式访问MOS,可以通 过MOS托管您的证书。 |
绑定自定义域名
证书托管 |
托管静态网站 |
MOS支持静态网站托管
功能,您可以将您的存 储空间配置成静态网站 托管模式,并通过存储空 间域名访问该静态网页。 |
静态网站托管介绍 |
跨域资源共享 |
MOS支持在HTML5协议
中跨域资源共享(CORS) 的设置。 CORS允许在一个 域名中加载的客户端Web应 用程序与另一个域中的资源进行交互。 |
设置跨域访问 |
获取源数据内容 |
MOS支持回源功能,当您的用户向您
的对象存储MOS请求的数据不存在时, 本应返回404错误。若您设置了回源 规则,填写了数据的正确地址,用户 可以通过回源规则从MOS获取到正确 的数据。回源规则通常用于数据热迁 移和重定向特定请求。 |
管理回源设置 |
了解文件的元信息 |
MOS支持清单功能,
您可以使用存储空间 清单功能导出指定对象 的元数据信息,如文件大小、加密状态等。 |
存储空间清单 |
修改HTTP头 |
MOS支持修改文件HTTP头,
您可以通过设置HTTP头来 自定义HTTP请求的策略。 例如,缓存策略、文件强制下载策略等。 |
设置文件HTTP头 |
查看资源使用情况 |
MOS支持监控功能,
您可以通过监控功能 查看MOS服务使用情况 的实时信息,如基本的 系统运行状态和性能。 |
监控服务概览 |
控制流量 |
MOS支持单链接限速功能,
您可以使用单链接限速功能 在上传、下载、拷贝文件时 进行流量控制,以保证您其他应用的网络带宽。 |
单链接限速 |
对数据进行分析和处理 |
MOS支持图片处理、数据截帧等功能,您可以对存储在MOS上的数据进行分析和处理:
图片处理:对MOS中存储的图片执行不同的操作,例如格式转换、裁剪、缩放、旋转、水印和样式封装等。 视频截帧:对视频编码格式为H264的视频文件进行视频截帧处理。 智能媒体管理:MOS与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。 |
图片处理
视频截帧 智能媒体管理 |
使用工具管理MOS资源 |
MOS支持图形化工具、
命令行工具、文件挂载 工具、FTP工具等方便 您管理MOS资源。 |
MOS 常用工具汇总 |
使用SDK管理MOS资源 | MOS支持各种语言的SDK开发包,方便您快速进行二次开发。 | SDK示例 |
本文将向您介绍对象存储MOS产品中涉及的几个基本概念,以便于您更好地理解MOS产品。
存储空间是用户用于存储对象(Object)的容器,
所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,
包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。
每个用户可以拥有多个存储空间。
存储空间的名称在MOS范围内必须是全局唯一的,一旦创建之后无法修改名称。
存储空间内部的对象数目没有限制。
存储空间的命名规范如下:
只能包括小写字母、数字和短划线(-)。
必须以小写字母或者数字开头和结尾。
长度必须在3~63字节之间。
对象是MOS存储数据的基本单元,也被称为MOS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。对象由元信息(Object
Meta),用户数据(Data)和文件名(Key)组成,并且由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在元信息中存储一些自定义的信息。
对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除通过追加方式上传的Object可以通过继续追加上传写入数据外,其他方式上传的Object内容无法编辑,您可以通过重复上传同名的对象来覆盖之前的对象。
对象的命名规范如下:
使用UTF-8编码。
长度必须在1~1023字节之间。
不能以正斜线(/)或者反斜线(\)开头。
说明 对象名称需要区分大小写。如无特殊说明,本文档中的对象、文件称谓等同于Object。
在各语言SDK中,ObjectKey、Key以及ObjectName是同 一概念,均表示对Object执行相关操作时需要填写的Object名称。 例如向某一存储空间上传Object时,ObjectKey表示上 传的Object所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为abc/efg/123.jpg。
Region表示MOS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说,距离用户更近的Region访问速度更快。详情请参见MOS已经开通的Region。
Region是在创建Bucket的时候指定的,一旦指定之后就不允许更改。该Bucket下所有的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。
Endpoint表示MOS对外服务的访问域名。MOS以HTTP RESTful API 的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。 通过内网和外网访问同一个Region所需要的Endpoint也是不同的。 例如杭州Region的外网Endpoint是MOS-cn-hangzh ou.moduyuncs.com,内网Endpoint是MOS-cn-hangzhou- internal.moduyuncs.com。具体的内容请参见各个Region对应的Endpoint。
AccessKey简称AK,指的是访问身份验证中用到的AccessKeyId和
AccessKeySecret。MOS通过使用AccessKeyId和AccessKeySecret对
称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户;
AccessKeySecret是用户用于加密签名字符串和MOS用来验证签名字符
串的密钥,必须保密。对于MOS来说,AccessKey的来源有:
Bucket的拥有者申请的AccessKey。
被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。
被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。
更多AccessKey介绍请参见创建AccessKey。
Object操作在MOS上具有原子性,操作要么成功要么失败,不会存在有中间状态的Object。MOS保证用户一旦上传完成之后读到的Object是完整的,MOS不会返回给用户一个部分上传成功的Object。
Object操作在MOS同样具有强一致性,用户一旦收到了一个上传(PUT)成功的响应,该上传的Object就已经立即可读,并且Object的冗余数据已经写成功。不存在一种上传的中间状态,即read-after-write却无法读取到数据。对于删除操作也是一样的,用户删除指定的Object成功之后,该Object立即变为不存在。
MOS使用基于纠删码、多副本的数据冗余存储机制,将每个对象的不同冗余存储在同一个区域内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
MOS Object操作具有强一致性,用户一旦收到了上传或复制成功的响应,则该上传的Object就已经立即可读,且数据已经冗余写入到多个设备中。
MOS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。
MOS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。
当数据存入MOS后,MOS会检测和修复丢失的冗余,确保数据持久性和可用性。
MOS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,MOS会利用冗余的数据,进行重建并修复损坏数据。
对比项 | MOS | 文件系统 |
---|---|---|
数据模型 |
MOS是一个分布式的对象存储服务, 提供的是一个Key-Value对形式的对象存储服务。 |
文件系统是一种典型的树状索引结构。 |
数据获取 |
根据Object的名称(Key)唯一的获取该Object的内容。
虽然用户可以使用类似test1/test.jpg的名字 ,但是这并不表示用户的Object是保存在test1目录下面的。 对于MOS来说,test1/test.jpg仅仅只是一个字符串, 和a.jpg这种并没有本质的区别。因此不同名称的Object 之间的访问消耗的资源是类似的。 |
一个名为test1/test.jpg的文件,
访问过程需要先访问到test1这个目录, 然后再在该目录下查找名为test.jpg的文件。 |
优势 | 支持海量的用户并发访问。 |
支持文件的修改,比如修改指定偏移位置
的内容、截断文件尾部等。也支持文件 夹的操作,比如重命名目录、删 除目录、移动目录等非常容易。 |
劣势 |
MOS保存的Object不支持修改(追加写Object需要调用特定的接口,
生成的Object也和正常上传的Object类型上有差别)。 用户哪怕是仅仅需要修改一个字节也需要重新上传整个Object。 MOS可以通过一些操作来模拟类似文件夹的功能,但是代价非常昂 贵。比如重命名目录,希望将test1目录 重命名成test2,那么MOS的实际操作是将所有以test1/开头 的Object都重新复制成以test2/开头的Object,这是一个 非常消耗资源的操作。因此在使用MOS的时候要尽量避免类似的操作。 |
受限于单个设备的性能。访
问越深的目录消耗的资源也越大 ,操作拥有很多文件的目录也会非常慢。 |
因此,将MOS映射为文件系统是非常低效的, 也是不建议的做法。如果一定要挂载成文件系统 的话,建议尽量只做写新文件、删除文件、 读取文件这几种操作。使用MOS应该充分发挥其 优点,即海量数据处理能力,优先用来存储海 量的非结构化数据,比如图片、视频、文档等。
以下是MOS与文件系统的概念对比:
对象存储 MOS | 文件系统 |
---|---|
Object | 文件 |
Bucket | 主目录 |
Region | 无 |
Endpoint | 无 |
AccessKey | 无 |
无 | 多级目录 |
GetService | 获取主目录列表 |
GetBucket | 获取文件列表 |
PutObject | 写文件 |
AppendObject | 追加写文件 |
GetObject | 读文件 |
DeleteObject | 删除文件 |
无 | 修改文件内容 |
CopyObject (目的和源相同) | 修改文件属性 |
CopyObject | 复制文件 |
无 | 重命名文件 |
英文 | 中文 |
---|---|
Bucket | 存储空间 |
Object | 对象或者文件 |
Endpoint | MOS 访问域名 |
Region | 地域或者数据中心 |
AccessKey | AccessKeyId和AccessKeySecret的统称,访问密钥 |
Put Object | 简单上传 |
Post Object | 表单上传 |
Multipart Upload | 分片上传 |
Append Object | 追加上传 |
Get Object | 简单下载 |
Callback | 回调 |
Object Meta | 文件元信息。用来描述文件信息,例如长度,类型等 |
Data | 文件数据 |
Key | 文件名 |
ACL (Access Control List) | 存储空间或者文件的权限 |
说明 如果没有特殊说明,本文中出现和术语表中相同的英文 和中文,表达的是相同的意思。有时候为了表述方便会混合使用。
本文介绍对象存储MOS的一些使用限制及性能指标。
MOS的使用限制及性能指标如下:
限制项 | 说明 |
---|---|
带宽 |
中国内地各地域10 Gbit/s、其他地域5 Gbit/s。如达到该阈值,请求会被流控。
说明 当请求被流控时,请求返回的Header中会携带x-MOS-qos-delay-time: number。其中number为请求被流控的时长,单位为ms。 上传类请求会返回精确的被流控的时长;下载类请求会返回根据流控程度和文件大小估算出的被流控的时长。 如果您的业务(如大数据离线处理等) 有更大的带宽(10 Gbit/s~100 Gbit/s)需求,请联系技术支持。 |
每秒请求数QPS(Query Per Second) |
单个账号的总QPS为10,000,但在不同的读写方式下,实际能达到的值如下:
顺序读写:2,000 如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中某个特定分区的情况,此时如果您的请求速率过大,会导致请求速率下降。建议您在上传大量文件时,不要使用顺序前缀的文件名。关于如何将顺序前缀改为随机性前缀的方法,请参见MOS性能与扩展性最佳实践。 非顺序读写:10,000 如您的业务有更大的QPS需求,请联系技术支持。 |
存储空间(Bucket) |
同一摩杜云账号在同一地域内创建的存储空间总数不能超过100个。
存储空间创建成功后,其名称、所处地域、存储类型不能修改。 单个存储空间的容量不限制。 |
对象或文件(Object) |
上传文件的大小
通过简单上传、表单上传、追加上传的方式上传单个文件,文件的大小不能超过5 GB。 通过分片上传的方式上传单个文件,文件的大小不能超过48.8 TB。 重命名文件的大小 控制台仅支持重命名1 GB以下的文件,1 GB以上的文件建议使用MOSutil工具。 删除文件的数量 通过控制台批量删除文件时,文件的个数不能超过100个。 通过各语言SDK、图形化管理工具MOSbrowser或命令行工具MOSutil批量删除文件时,文件的个数不能超过1,000个。 警告 文件删除后无法恢复,请谨慎操作。 同名文件被覆盖默认情况下,如果上传的文件与已有文件同名,则覆盖已有文件。为防止文件被意外覆盖,您可以通过为文件所在的Bucket开启版本控制,或者在上传请求的Header中携带参数x-MOS-forbid-overwrite,并指定其值为true。 |
数据解冻 |
在访问归档存储和冷归档存储类型的数据之前,需要先等待数据解冻完成。
对于归档存储类型,数据解冻约需1分钟。 对于冷归档存储类型,数据解冻时间根据不同优先级而有所不同: 高优先级:1小时以内 标准:2~5小时 批量:5~12小时 |
域名绑定 |
中国内地各地域绑定的域名必须在工信部备案,其他地域的域名绑定不需要在工信部备案。
一个域名只能绑定在一个存储空间上,一个存储空间最多可以绑定100个域名。 一个账号可绑定的域名个数无限制。 |
生命周期规则 | 一个存储空间最多可配置1,000条生命周期规则。 |
回源规则 |
一个存储空间最多可配置20条回源规则。
对于镜像回源,中国内地各地域和中国香港默认QPS为2,000、流量为2 Gbit/s;海外各地域默认QPS为1,000、流量为1 Gbit/s。 |
图片处理 |
图片限制
原图 图片格式只支持JPG、PNG、BMP、GIF、WebP、TIFF。 原图大小不能超过20 MB。 除图片旋转对应的原图高或者宽不能超过4,096 px外,其他图片操作对应的原图高或者宽不能超过30,000 px,且总像素不能超过2.5亿 px。 动态图片(例如GIF图片)的像素计算方式为宽*高*图片帧数;非动态图片(例如PNG图片)的像素计算方式为宽*高。 缩放后的图片 宽或高不能超过16,384 px,且总像素不能超过16,777,216 px。 样式限制 每个存储空间下最多能创建50个样式。如您的业务有更多的样式需求,请联系技术支持。 |
资源包 |
地域资源包仅支持在归属地域使用;中国大陆通用资源包仅支持在中国内地(不含中国香港)使用。
已购资源包不支持更换地域。 资源包中的存储包不支持叠加购买,但您可以对已购存储包进行升级。 资源包中的传输加速包和回源流量包支持叠加购买,但不支持升级和续费。 资源包中的下行流量包支持叠加购买和续费,但不支持升级。 请求费用、数据处理费用和流量费用中的跨区域复制流量费用暂时无对应的资源包,即不支持包年包月,仅支持按量计费。 |
本文列举了对象存储MOS的用户经常咨询和关注的一些问题,帮助您快速了解MOS。
什么是摩杜云MOS?
摩杜云对象存储服务MOS(Moduyun Object Storage
Service),是摩杜云提供的海量、安全、低成本、高持久性的云存储服务,并可无限扩展。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。
MOS能做什么?
MOS具有与平台无关的RESTful
API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。由于MOS具有高度可扩展性,且您只需为实际用量付费,因此您可以从较小用量起步,并根据业务需要进行扩展,而不影响性能和持久性。
您可以使用摩杜云提供的API、SDK接口或者MOS迁移工具轻松地将海量数据移入或移出摩杜云MOS。数据存储到摩杜云MOS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent
Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。
更多关于MOS的功能介绍,请参见MOS功能概览。
MOS适合谁用?
MOS适合社区、多媒体分享、电子商务等各类形式规模的网站站长,App应用和软件应用开发者,游戏开发企业以及有大规模数据存储需求的用户使用。
MOS适合存储什么?
MOS适合存储论坛网站与软件应用中的附件、高清图片、音视频、备份文件等,以及各种App应用、多终端同步软件、网盘下载站的文件。
使用MOS,开发人员能够解决哪些使用本地解决方案无法解决的问题?
MOS让任何开发人员都可以充分利用摩杜云的规模优势,而无需前期投资,也不会影响性能。开发人员可以解放出来专注于创新,而无需担心因业务增长带来的性能瓶颈以及安全性等问题。MOS不仅成本低,而且操作非常简单。
MOS可以存储多少数据,有上限吗?
MOS总存储容量不限制,单个Bucket容量也不限制。通过MOS控制台仅可以上传小于5 GB的文件。对于大于5
GB的文件,需要使用分片上传和断点续传功能,或者使用图形化工具MOSbrowser、命令行工具MOSutil直接上传。
MOS提供哪些存储类型?
MOS提供标准、低频访问、归档、冷归档四种存储类型,全面覆盖从热到冷的各种数据存储场景。其中标准存储类型提供高持久、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率1到2次),存储单价低于标准类型;归档存储类型适合需要长期保存(建议半年以上)的归档数据;冷归档存储适合需要超长时间存放的极冷数据。更多信息,请参见存储类型介绍。
摩杜云会使用我在MOS上存储的数据吗?
就用户业务数据,摩杜云除执行您的服务要求或者法律法规要求外,不进行任何未获授权的使用及披露。详情请参见服务条款。
摩杜云是否会将自己的数据存储在MOS上?
是的。摩杜云内部的开发人员也在很多项目中使用MOS作为授权数据存储。这些项目依赖MOS执行关键业务操作。
MOS的持久性如何?
MOS为开发人员提供了一个安全、低成本、高持久性且高度可扩展的云存储基础设施。摩杜云自己也使用该基础设施来运行其全球网站网络。MOS标准存储和低频访问存储类型的可实现99.995%的可用性,归档存储类型的设计可实现99.99%的可用性。所有这些存储类型均受摩杜云对象存储MOS服务等级协议支持。
如果来自应用程序的流量突然激增,MOS如何保证业务的可用性?
MOS一开始就将处理来自任何互联网应用程序的高流量作为设计目标,提供按量计费的定价策略以及无限制的容量,确保您的服务不会因流量激增而中断。MOS能够均衡地分布负载,任何应用程序都不会受到流量峰值的影响。
MOS的数据是如何组织的?
MOS是一个分布式的对象存储服务,提供的是一个Key-Value形式的对象存储服务。当您存储文件(Object)时,需要指定此Object的名称(Key),后续您将通过这个Key来获取该Object的内容。
Key也可以用来模拟文件夹的一些属性。MOS中文件夹的概念仅是一个逻辑概念,在通过API或SDK的方式设置文件夹的时候可以指定Object对应的Key值包括前面的目录即可模拟文件夹功能。例如,定义Object的Key为dir/example.jpg,就会在当前Bucket下创建一个名为dir的文件夹,并在该文件夹下创建一个名为example.jpg的文件。如果用户删除了dir/example.jpg,将不会再存在dir这个文件夹。
如何开始使用MOS?
在使用摩杜云MOS服务之前,请确保您已经注册了摩杜云账号并完成实名认证。如果您还没有创建摩杜云账号,系统会在您开通MOS时提示您注册账号。具体操作请参见注册账号。之后请您打开MOS产品详情页,单击立即开通即可。开通MOS服务后,默认的计费方式是按量计费,如果想进一步降低MOS费用,建议您购买折扣套餐。
您可以通过控制台、图形化管理工具、命令行管理工具以及各种语言的SDK快速开始使用MOS,详情请参见开始使用MOS。
什么是摩杜云地域?
摩杜云地域是一个地理位置,摩杜云在其中提供多个在物理上独立且隔离的可用区,这些可用区通过延迟低、吞吐量高且冗余性高的网络连接在一起。
什么是可用区(AZ)?
可用区是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小。在同一地域内可用区与可用区之间内网互通,可用区之间能做到故障隔离。
如何确定将数据存储在哪个摩杜云地域中?
选择地域时,建议您综合考虑地理位置、云产品之间的关系、资源价格等因素。详情请参见如何选择MOS地域。
MOS的费用是多少?
使用MOS,您可以按实际使用量付费(先使用,后付费),没有最低费用限制。您也可以预先购买资源包,之后使用资源时,扣除相应的额度。一般情况下,资源包更加优惠。详细的价格信息请参见摩杜云产品定价。
如果其他账号访问我的MOS资源,应该如何付费?
当其他账号访问您的MOS资源,我们将按正常的MOS定价收费。您也可以选择将存储空间配置为请求者付费模式,在这种模式下,将由请求方支付MOS数据的相关请求和下载费用。详情请参见请求者付费模式。
数据存储在MOS上安全吗?
MOS本身是非常安全的。创建完成后时,只有资源所有者才能访问其MOS资源。MOS提供用户身份验证,以控制对数据的访问。您可以使用各种访问控制策略,例如存储空间级别和文件级别的访问控制列表(ACL),选择性地向用户和用户组授予权限。MOS控制台会显示您可公开访问的存储空间。您可以将不希望公开访问的存储空间及文件设置为私有读写。如果您将私有读写的存储空间或文件的ACL设置为公共读或公共读写时,MOS会向您发出警告。关于MOS安全性的详细介绍,请参见MOS安全与合规白皮书。
如何控制存储在MOS中数据的访问权限?
针对存放在Bucket的Object的访问,MOS提供了多种权限控制方式,包括ACL、RAM Policy和Bucket
Policy。详情请参见访问控制概述。
MOS提供哪些数据加密的方式?
MOS提供服务端加密和客户端加密。
服务器端加密是将数据保存到数据中心的磁盘之前进行加密,并且在下载文件时自动进行解密。MOS提供两种服务器端加密方式:
使用KMS(Key Management Service)托管密钥进行加解密(SSE-KMS)
使用KMS托管的默认CMK(Customer Master
Key)或指定CMK进行加解密操作。数据无需通过网络发送到KMS服务端进行加解密,是一种低成本的加解密方式。
注意
使用KMS密钥功能会产生少量的KMS密钥使用费用。费用详情,请参见KMS计费标准。
用于加密Object的密钥也会被加密,并写入Object的元信息中。
KMS托管密钥的服务器端加密方式仅加密Object数据,不加密Object的元数据。
使用MOS完全托管密钥进行加解密(SSE-MOS)
使用MOS完全托管的密钥加密每个Object。为了提升安全性,MOS还会使用定期轮转的主密钥对加密密钥本身进行加密。该方式适合于批量数据的加解密。
客户端加密是指将数据发送到MOS之前在用户本地进行加密,对于数据加密密钥的使用,目前支持如下两种方式:
使用KMS托管用户主密钥
当使用KMS托管用户主密钥用于客户端数据加密时,无需向MOS加密客户端提供任何加密密钥。只需要在上传对象时指定KMS用户主密钥ID(也就是CMK
ID)。
使用用户自主管理密钥
使用用户自主管理密钥,需要用户自主生成并保管加密密钥。当用户本地客户端加密时,由用户自主上传加密密钥(对称加密密钥或者非对称加密密钥)至本地加密客户端。
什么是MOS生命周期管理?如何利用生命周期管理来帮助降低MOS存储成本?
生命周期规则可以定期将非热门数据转换为低频访问、归档存储或冷归档存储,将不再需要访问的数据删除,让您更高效地管理您存储的数据,节省大量人力及存储成本。例如:
某医疗机构的医疗档案,上传至MOS后半年内需要偶尔访问,半年后基本不再访问。可以通过设置生命周期规则,将已上传180天的医疗档案转为归档存储。
某公司服务热线的录音文件,上传至MOS后2个月内,需要作为数据统计及核查的依据,2个月后偶尔访问,半年后基本不再访问,2年后数据不再需要存储。可以通过设置生命周期规则,设置录音文件上传60天后转为低频访问存储,180天后转为归档存储,730天后删除。
某存储空间内有大量文件需要全部删除,但是手动删除每次仅可以删除最多1000个文件,比较麻烦。此时可以配置一条匹配整个Bucket的生命周期规则,设置一天后删除所有文件。此Bucket内的数据会在第二天被全部删除。
关于生命周期的详细介绍和配置,请参见生命周期规则介绍。
什么是MOS跨区域复制?
跨区域复制(Bucket CrMOS-Region
Replication)是跨不同MOS数据中心(地域)的Bucket自动、异步复制Object,它会将Object的创建、更新和删除等操作从源存储空间复制到不同地域的目标存储空间。该功能能够很好的提供Bucket跨区域容灾或满足用户数据复制的需求。目标Bucket中的文件是源Bucket中文件的精确副本,它们具有相同的文件名、元数据以及内容,例如创建时间、拥有者、用户定义的元数据、Object
ACL、文件内容等。
跨区域复制如何收费?
开启跨区域复制功能后,主从两个区域的Bucket在备份文件时会产生跨区域间的数据流量,MOS会收取跨区域复制流量费用。每同步1个Object,MOS会累计计算请求次数并进行按量计费。目前跨区域复制流量仅支持按量计费,不提供资源包。
MOS的所有计费服务都是单独计费的, 例如您存储文件会产生存储费用;通过外网访问MOS存储的文件, 会产生外网流出流量费用;使用图片处理服务处理MOS的图片会 产生图片处理费用等。本文介绍MOS服务费用的组成及计费方式。
说明
MOS各项服务的单价,请参见MOS产品定价。
详细的费用计算示例,请参见
计费案例。
计费常见问题,请参见
常见问题。
MOS以小时为周期统计MOS所有资源的使用量,并按照使用量结算产生的费用。
MOS支持按量计费和包年包月两种计费方式:
按量计费:按使用量×每小时单价的方式计算费用,并将费用计入账单内,您可以在账单出账后结算费用。更多信息,请参见
按量计费。
包年包月:您预先购买对应资源包,MOS会在每个计费周期内按资源使用量扣除资源包额度。更多信息,请参见资源包介绍。
MOS服务费用 由存储费用 、 流量费用 、 请求费用 、 数据处理费用 、 对象标签费用 、 传输加速费用 、 临时存储费用 、 DDoS防护费用 组成:
当您在MOS内存储文件时,MOS会根据您存储的文件类型、大小和时长收取一定的存储费用。
说明 本文仅说明相关计费项及计费方式。有关计费项的定价详情,请参见MOS产品定价。
MOS提供标准、低频访问、归档、冷归档四种存储类型,计费项和计费方式如下:
计费项 | 计费说明 | 计费方式 |
---|---|---|
标准存储(本地冗余)容量 | 按标准存储(本地冗余)类型文件的大小和存储时长计费。 |
按量计费:存储费用=存储量(GB)×月单价÷30(天)÷24(小时)
包年包月: 标准存储(LRS)存储包:按存储包实际容量抵扣。 存储容量单位包SCU:中国内地每0.12 GB SCU容量可抵扣1 GB存储费用。其他地域抵扣详情,请参见产品定价。 |
标准存储(同城冗余)容量 | 按标准存储(同城冗余)类型文件的大小和存储时长计费。 |
按量计费:存储费用=存储量(GB)×月单价÷30(天)÷24(小时)
包年包月: 标准存储(ZRS)存储包:按存储包实际容量抵扣。 存储容量单位包SCU:中国内地每0.15 GB SCU容量可抵扣1 GB存储费用。其他地域抵扣详情,请参见产品定价。 |
低频访问(本地冗余)容量 | 按低频访问(本地冗余)类型文件的大小和存储时长计费。 低频访问类型文件有最小计量单位限制。单个文件小于64 KB,按照64 KB计算;大于或等于64 KB,按照实际大小计算。 |
按量计费:存储费用=计费存储量(GB)×月单价÷30(天)÷24(小时)
包年包月: 低频访问(LRS)存储包:按存储包实际容量抵扣。 存储容量单位包SCU:中国内地每0.08 GB SCU容量可抵扣1 GB存储费用。其他地域抵扣详情,请参见产品定价。 |
低频访问(同城冗余)容量 | 按低频访问(同城冗余)类型文件的大小和存储时长计费。 低频访问类型文件有最小计量单位限制。单个文件小于64 KB,按照64 KB计算;大于或等于64 KB,按照实际大小计算。 |
按量计费:存储费用=计费存储量(GB)×月单价÷30(天)÷24(小时)
包年包月: 低频访问(ZRS)存储包:按存储包实际容量抵扣。 存储容量单位包SCU:中国内地每0.1 GB SCU容量可抵扣1 GB存储费用。其他地域抵扣详情,请参见产品定价。 |
归档(本地冗余)容量 | 按归档存储(本地冗余)类型文件的大小和存储时长计费。 归档存储类型文件有最小计量单位限制。单个文件小于64 KB,按照64 KB计算;大于或等于64 KB,按照实际大小计算。 |
按量计费:存储费用=计费存储量(GB)×月单价÷30(天)÷24(小时)
包年包月: 归档存储(LRS)存储包:按存储包实际容量抵扣。 存储容量单位包SCU:中国内地每0.03 GB SCU容量可抵扣1 GB存储费用。其他地域抵扣详情,请参见产品定价。 |
冷归档(本地冗余)容量 | 按冷归档存储(本地冗余)类型文件的大小和存储时长计费。 冷归档存储类型文件有最小计量单位限制。单个文件小于64 KB,按照64 KB计算;大于或等于64 KB,按照实际大小计算。 |
按量计费:存储费用=计费存储量(GB)×月单价÷30(天)÷24(小时) 包年包月:不支持 |
低频访问不足规定时长容量 | 针对低频访问类型的文件,如果存储时间不足30天(即720小时)被覆写或删除,会收取剩余时间(720-已存储时间)的存储费用。 |
按量计费:低频访问不足规定时长费用=被删除文件大小(GB)×低频访问文件存储月单价÷30(天)÷24(小时)×(720-已存储时间)
示例:100 GB低频访问(本地冗余)类型文件存储20天(480小时)后被删除,则该项费用=100(GB)×0.08(元)÷30(天)÷24(小时)×(720-480)≈2.667元。 包年包月:按存储包实际容量抵扣,仅用于抵扣低频访问(本地冗余)不足规定时长容量,不支持抵扣低频访问(同城冗余)不足规定时长容量。 |
归档存储不足规定时长容量 | 针对归档类型的文件,如果存储时间不足60天(即1440小时)被覆写或删除,会收取剩余时间(1440-已存储时间)的存储费用。 |
按量计费:归档存储不足规定时长费用=被删除文件大小(GB)×归档存储文件存储月单价÷30(天)÷24(小时)×(1440-已存储时间)
包年包月:按存储包实际容量抵扣。 |
冷归档存储不足规定时长容量 | 针对冷归档类型的文件,如果存储时间不足180天(即4320小时)被覆写或删除,会收取剩余时间(4320-已存储时间)的存储费用。 |
按量计费:冷归档存储不足规定时长费用=被删除文件大小(GB)×冷归档存储文件存储月单价÷30(天)÷24(小时)×(4320-已存储时间)
包年包月:不支持 |
流量是您访问MOS时产生的数据流的累计值,包括外网流出流量、 内网流出流量、外网流入流量、内网流入流量、CDN回源流出流量、 跨区域复制流量等。MOS会根据实际产生的流量计算流量费用。
说明 本文仅介绍费用的含义和计费方式,定价详情,请参见MOS产品定价。
计量项 | 含义 | 计费方式 |
---|---|---|
外网流出流量 | 数据通过互联网从MOS传输到客户端产生的流量。 |
按量计费:外网流出流量费用=外网流出流量(GB)×每GB单价
包年包月:下行流量包 |
外网流入流量 | 数据通过互联网从客户端传输到MOS所产生的流量。 | 免费 |
内网流出流量 | 数据通过内网从MOS传输到客户端所产生的流量。如何使用内网访问域名,请参见通过内网访问MOS服务。 | 免费 |
内网流入流量 | 数据通过内网从客户端传输到MOS所产生的流量。 | 免费 |
CDN回源流出流量 | 数据从MOS传输到CDN边缘节点所产生的回源流量。 |
按量计费:CDN回源流出流量费用=CDN回源流出流量(GB)×每GB单价
包年包月:回源流量包 |
跨区域复制流量 | 使用跨区域复制功能将源存储空间的数据同步复制到目标存储空间时所产生的流出流量。 |
按量计费:跨区域复制流量=跨区域复制流量(GB)×每GB单价
年包月:无 |
您对MOS的所有操作都是通过调用MOS API实现的,MOS会根据调用的MOS API次数收取请求费用。
请求费用的计费项包括Put类型请求次数和Get类型请求次数。
计量项 | 计费说明 | 计费方式 |
---|---|---|
Put类型请求次数 | 调用MOS API的Put类请求产生的请求次数费用。请求无论成功还是失败,都会统计请求次数。 |
按量计费:请求费用=请求次数×每万次请求的单价÷10000
有关请求单价的更多信息,请参见摩杜云产品定价。 包年包月:无 |
Get类型请求次数 | 调用MOS API的Get类请求产生的请求次数费用。请求无论成功还是失败,都会统计请求次数。 |
按量计费:请求费用=请求次数×每万次请求的单价÷10000
有关请求单价的更多信息,请参见摩杜云产品定价。 包年包月:无 |
说明
MOS管理控制台上的操作也是通过调用MOS API实现的,例如查看存储空间列表时会调用GetService
(ListBuckets)接口。进入文件管理页面时会调用GetBucket
(ListObjects)接口。因此,使用MOS管理控制台也会产生请求费用。
有关Put类和Get类API请求的功能详情,请参见API概览。
API请求 | 对应操作 |
---|---|
PutBucket | 创建存储空间(Bucket)。 |
GetService(ListBuckets) | 列举所有Bucket。 |
GetBucket(ListObject)、GetBucketV2(ListObjectsV2) | 列举所有Object。 |
PutBucketACL | 为Bucket设置读写权限ACL。 |
PutBucketInventory | 为Bucket配置清单规则。 |
DeleteBucketInventory | 删除Bucket中指定的清单任务。 |
PutBucketLogging | 开启日志转存。 |
DeleteBucketLogging | 关闭日志转存。 |
PutBucketWebsite | 为Bucket设置静态网站托管模式并设置跳转规则(RoutingRule)。 |
DeleteBucketWebsite | 关闭Bucket的静态网站托管模式以及跳转规则。 |
PutBucketReferer | 为Bucket设置Referer的访问白名单以及是否允许Referer字段为空。 |
PutBucketLifecycle | 设置生命周期规则。 |
DeleteBucketLifecycle | 删除生命周期规则。 |
DeleteBucket | 删除Bucket。 |
PutObject | 上传Object。 |
CopyObject | 在同一地域下相同或不同Bucket之间拷贝Object。 |
AppendObject | 以追加写的方式上传Object。 |
DeleteObject | 删除单个Object。 |
DeleteMultipleObjects | 删除多个Object。 |
PutObjectACL | 为Object设置读写权限ACL。 |
PostObject | 通过HTML表单上传的方式上传Object。 |
PutSymlink | 创建软链接。 |
RestoreObject | 解冻归档类型Object。 |
InitiateMultipartUpload | 初始化Multipart Upload事件。 |
UploadPart | 根据指定的Object名称和UploadId来分块(Part)上传数据。 |
AbortMultipartUpload | 取消MultipartUpload事件并删除对应的Part数据。 |
UploadPartCopy | 分片拷贝。 |
PutBucketReplication | 为Bucket配置跨区域复制规则。 |
DeleteBucketReplication | 停止某个Bucket的跨区域复制任务并删除Bucket的复制配置。 |
PutBucketCors | 添加CORS配置。 |
DeleteBucketCors | 删除CORS配置。 |
CompleteMultipartUpload | 完成分片上传。 |
InitiateBucketWorm | 为Bucket创建合规保留策略。 |
AbortBucketWorm | 删除未锁定的合规保留策略。 |
CompleteBucketWorm | 锁定合规保留策略。 |
ExtendBucketWorm | 延长已锁定的合规保留策略对应Bucket中Object的保留天数。 |
PutBucketVersioning | 为Bucket开启版本控制。 |
PutBucketPolicy | 设置Bucket Policy。 |
DeleteBucketPolicy | 删除Bucket Policy。 |
PutBucketTags | 为Bucket添加或修改标签。 |
DeleteBucketTags | 删除Bucket标签。 |
PutBucketEncryption | 为Bucket配置加密规则。 |
DeleteBucketEncryption | 删除Bucket加密规则。 |
PutBucketRequestPayment | 为Bucket设置请求者付费模式。 |
PutObjectTagging | 为Object添加或修改标签。 |
DeleteObjectTagging | 删除Object标签。 |
PutLiveChannel | 创建一个LiveChannel。 |
DeleteLiveChannel | 删除指定的LiveChannel。 |
PutLiveChannelStatus | 切换LiveChannel状态。 |
PostVodPlaylist | 为LiveChannel生成用于点播的播放列表。 |
API请求 | 对应操作 |
---|---|
查看Bucket的访问权限。 | |
GetBucketLocation | 查看Bucket所属的数据中心。 |
GetBucketInfo | 查看Bucket的相关信息。 |
GetBucketLogging | 查看Bucket的访问日志配置。 |
GetBucketWebsite | 查看Bucket的静态网站托管配置。 |
GetBucketReferer | 查看Bucket的Referer配置。 |
GetBucketLifecycle | 查看Bucket的Lifecycle配置。 |
GetBucketReplication | 查看Bucket已配置的跨区域复制规则。 |
GetBucketReplicationLocation | 查看数据可复制到的目标Bucket所在的地域。 |
GetBucketReplicationProgress | 查看跨区域复制进度。 |
GetBucketInventory | 查看Bucket指定的清单任务。 |
ListBucketInventory | 查看Bucket所有的清单任务。 |
GetObject | 下载Object。 |
CopyObject | 复制Object。 |
HeadObject | 查看Object包含的所有meta信息。 |
GetObjectMeta | 查看Object包含的部分meta信息。 |
GetObjectACL | 查看Object的读写权限ACL。 |
GetSymlink | 查看软链接。 |
ListMultipartUploads | 列举所有执行中的Multipart Upload事件。 |
ListParts | 列举上传成功的Part。 |
UploadPartCopy | 分片拷贝。 |
GetBucketcors | 查看Bucket的CORS配置。 |
GetBucketWorm | 查看Bucket的合规保留策略配置。 |
GetBucketVersioning | 查看Bucket的版本控制状态。 |
GetBucketVersions(ListObjectVersions) | 查看Bucket中所有Object的版本信息。 |
GetBucketPolicy | 查看Bucket Policy配置。 |
GetBucketReferer | 查看防盗链配置。 |
GetBucketTags | 查看Bucket的标签信息。 |
GetBucketEncryption | 查看Bucket的加密配置。 |
GetBucketRequestPayment | 获取请求者付费模式配置。 |
SelectObject | 扫描文件。 |
GetObjectTagging | 查看Object的标签信息。 |
ListLiveChannel | 查看所有LiveChannel的信息。 |
GetLiveChannelInfo | 查看指定LiveChannel的信息。 |
GetLiveChannelStat | 查看指定LiveChannel的推流状态信息。 |
GetLiveChannelHistory | 查看指定LiveChannel的推流记录。 |
GetVodPlaylist | 查看指定LiveChannel在指定时间段内推流生成的播放列表。 |
如果您使用图片处理、高级图片压缩、视频截帧、SelectObject、数据取回等功能时,MOS会收取数据处理费用。
说明 本文仅说明相关计费项及计费方式。有关计费项的定价详情,请参见MOS产品定价。
计量项 | 计费说明 | 计费方式 |
---|---|---|
图片处理 |
按处理的原图实际大小计费。
例如将图片A进行缩放,图片处理计量数据是图片A的实际大小。 |
按量计费:
当月图片处理量<10 TB:免费 当月图片处理量>10 TB:(图片处理量-10 TB)×图片处理单价 包年包月:无 |
高级图片处理 | 按使用高级压缩处理图片的次数计费 |
按量计费:高级图片处理单价×处理次数÷1000
包年包月:无 |
视频截帧 | 按视频截帧截取的图片数量计费。 |
按量计费:视频截帧费用=截帧数×截帧单价÷1000
包年包月:无 |
Select扫描数据量 | 按SelectObject扫描的原文件实际大小计费。 |
按量计费:Select扫描费用=扫描文件大小(GB)×Select扫描单价
包年包月:无 |
低频访问数据取回 |
访问低频访问类型文件产生的费用。按数据取回量计费。
说明 通过SelectObject、HTTP Range等方式读取文件中的部分内容时, 按照取回的字节范围来计算;其他方式访问低频访问文件时,按照文件的实际大小计算。 |
按量计费:低频访问数据取回费用=数据取回量(GB)×低频访问文件数据取回单价
包年包月:无 |
归档存储数据取回 |
解冻归档存储类型文件产生的费用。按解冻文件大小计费。
文件从解冻完成到再次归档前被访问,不再产生解冻费用。 |
按量计费:归档存储数据取回费用=解冻文件大小(GB)×归档存储文件数据取回单价
包年包月:无 |
冷归档存储数据取回 |
解冻冷归档存储类型文件产生的费用。按取回模式和文件大小计费。
文件从解冻完成到再次归档前被访问,不再产生解冻费用。 |
按量计费:数据取回费用=解冻文件大小(GB)×对应取回模式的数据取回单价
包年包月:无 |
如果您为您存储空间内的文件添加了对象标签,MOS会收取对象标签费用。
说明 本文仅介绍费用的含义和计费方式,具体的价格信息请参见MOS产品定价。
对象标签功能介绍请参见对象标签。
计量项 | 含义 | 计费方式 |
---|---|---|
对象标签 | MOS按照您存储空间内对象标签的数量计算对象标签费用。 |
按量计费:对象标签费用=每小时内MOS存在的对象标签数量×对象标签月单价÷30(天)÷24(小时)÷10000
包年包月:无 |
如果您开启了传输加速功能,且使用传输加速域名访问您的存储空间,MOS会收取传输加速费用。
说明 本文仅介绍费用的含义和计费方式,具体的价格信息请参见MOS产品定价。
传输加速费用是单独的计费项,会和外网流出流量同时计算。 例如通过传输加速域名从开启传输加速功能的存储空间中下载了1 GB的数据, 则会产生1 GB传输加速费用和1 GB外网流出流量费用。传输加速功能介绍请参见 传输加速。
计费项 | 计量方式 | 计费方式 |
---|---|---|
传输加速AccM2MIn | 通过传输加速域名,从中国内地访问中国内地的MOS时,产生的加速上传流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccM2MOut | 通过传输加速域名,从中国内地访问中国内地的MOS时,产生的加速下载流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccM2OIn | 通过传输加速域名,从中国内地访问非中国内地的MOS时,产生的加速上传流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccM2OOut | 通过传输加速域名,从中国内地访问非中国内地的MOS时,产生的加速下载流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccO2MIn | 通过传输加速域名,从非中国内地访问中国内地的MOS时,产生的加速上传流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccO2MOut | 通过传输加速域名,从非中国内地访问中国内地的MOS时,产生的加速下载流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
传输加速AccO2OIn | 通过传输加速域名,从非中国内地访问非中国内地的MOS时,产生的加速上传流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
输加速AccO2OOut | 通过传输加速域名,从非中国内地访问非中国内地的MOS时,产生的加速下载流量。 |
按量计费:传输加速费用=每小时累计产生的传输加速流量(GB)×每GB单价
包年包月:传输加速包,购买时请注意使用地域。 |
冷归档存储类型文件在数据解冻时会生成一 份标准存储类型的文件副本用于访问,这部分文件在解冻时间结束前会收取临时存储费用。
说明
MOS会分别计算临时存储费用和冷归档存储费用。例如1 GB的冷归档文件被解冻1天,则计费系统会计算1 GB冷归档文件的存储费用和1
GB副本文件的临时存储费用。
冷归档功能目前正在公测中,暂不收取此费用,公测结束后开始正常计费。
计量项 | 含义 | 计费方式 |
---|---|---|
取回临时存储(本地冗余) | 冷归档存储类型文件在数据解冻时会生成一 份标准存储类型的文件副本用于访问。这部分文件在解冻时间结束前会计算存储费用。 |
按量计费:取回临时存储费用=解冻文件大小(GB)×月单价÷30(天)÷24(小时)
包年包月:无 |
如果您使用了MOS高防,MOS会根据您的高防实例数量、高防防护流量和高防请求次数等收取DDoS防护费用。
计量项 | 计费说明 | 计费方式 |
---|---|---|
高防资源预留费用 | 按高防实例数量和使用时长收取。 |
按量计费:高防资源预留费用=高防实例数量×使用时长×每小时单价
包年包月:不支持 |
高防资源提前释放费用 | 高防MOS实例使用不足7天,MOS会收取剩余时间(7天×24小时-高防实例使用时长)的高防资源预留费用。 |
按量付费:高防资源提前释放费用=高防资源预留费用每小时单价×(7天×24小时-高防实例使用时长)
包年包月:不支持 |
高防流量防护费用 | 计算高防实例绑定的所有Bucket产生的外网流出和流入流量,取外网流出或流入流量的最大值计算高防流量防护费用。 |
按量计费:高防流量防护费用=外网流出或流入流量最大值×每GB单价
包年包月:不支持 |
高防请求防护费用 | 计算高防实例绑定的所有Bucket产生的MOS API请求次数,按请求次数计算高防请求防护费用。 请求无论成功还是失败,都会统计请求次数。 |
按量计费:高防请求防护费用=请求次数×每万次请求的单价÷10000
包年包月:不支持 |
在MOS数据初次接入扫描时,敏感数据保护对授权的数据源执行全量扫描并收取全量扫描费用。初次扫描任务完成后,敏感数据保护仅对该数据源中新增或修改的文件收取扫描费用。
有关敏感数据保护的更多信息,请参见敏感数据保护。
本文仅说明相关计费项及计费方式。有关计费项的定价详情,请参见MOS产品定价。
计量项 | 含义 | 计费方式 |
---|---|---|
敏感数据扫描费用 | 对授权的数据源进行全量扫描或增量扫描产生的费用。 |
按量计费:扫描费用=扫描数据量(GB)×每GB单价
包年包月:不支持 |
针对部分计费项和部分地域,对象存储MOS提供一定量的免费额度。您在免费额度范围内的操作,均不会产生对应费用。
MOS提供的免费额度如下:
计量项 | 免费方式 | 支持地域 | 免费额度 | 领取条件 |
---|---|---|---|---|
标准存储(本地冗余)存储量 | 新用户免费试用 | 全部 | 提供一定量的标准存储(本地冗余)容量,详情请参见摩杜云免费套餐。 |
初次注册认证未满6个月。
未购买摩杜云任何产品。 |
标准存储(本地冗余)存储量 | 部分地域存储免费额度 | 中国香港和海外地域 | 5 GB | 无 |
图片处理 | 图片处理免费额度 | 全部 | 每月10 TB | 无 |
您在注册摩杜云账号并进行实名认证后(注册未满6个月的个人用户或企业用户),若未购买任何产品,可免费试用MOS。试用期内,您可以免费存储一定额度的标准存储(本地冗余)类型文件。领取条件及方式请参见摩杜云免费套餐。
免费试用期结束后,将正常计算标准存储(本地冗余)类型文件的存储费用,计费方法请参见概述。
目前,MOS的免费试用仅抵扣存储空间内的标准存储(本地冗余)类型文件的存储费用,对于其他存储类型的存储费用、因访问产生的API请求和流量费用、使用图片处理服务产生的图片处理费用等均无法抵扣。
中国香港和海外地区的存储空间享有5 GB的标准存储(本地冗余)免费额度,即标准存储(本地冗余)类型文件的存储量在5 GB以内,不收取存储费用;超过5 GB时,仅计算超出部分的费用。详情请参见产品定价。
图片处理服务每个账号每月有10 TB的免费额度,即每月处理的原图累计不超过10 TB时,不收取图片处理费用;超过10 TB时,仅计算超出部分的费用。详情请参见产品定价。
当您开通MOS服务后,默认的付费方式为按量计费。针对部分计费项目,您也可以购买资源包(包年包月)进一步降低费用。本文主要介绍按量计费的计费详情。
如需了解MOS费用的组成和计费标准请参见
计量项和计费项。
MOS系统每小时统计前一小时的实际用量并进行结算, 从账户余额中扣除实际消费金额。例如,当前时间是9:30,结算的是8:00~9:00产生的费用。
说明 因账单系统目前存在延迟,您在9:30查看到的可能是7:00~8:00的费用账单。
MOS的使用费用每小时结算一次,计算公式为:费用=实际资源使用量×对应资源每小时单价。
说明 MOS产品定价中明确了存储费用的单价为元/GB/月,但按量计费的计 算方法为实际资源使用量 * 每小时单价。因此当您需要计算实际存 储费用时,需要先将存储费用的单价转换为元/GB/小时。 例如标准型(本地冗余存储)单价为0.12元/GB/月,则按小 时结算的单价约为0.000167元/GB/小时(0.12÷30÷24)。
按量计费的扣费顺序请参见摩杜云按量计费账单扣款顺序。
小王在华北1(青岛)创建了MOS Bucket,上传了100
GB的文件,并且开通了CDN加速服务。如果有用户通过CDN域名访问了小王的数据,那么小王需支付如下费用:
存储费用
CDN流出流量(由CDN服务收取)
CDN回源流出流量费用
请求费用
如果小王还给每个文件设置了标签,则还会产生对象标签使用费用。以此类推,您使用了哪些功能,则会产生对应功能的使用费用。详情请参见计量项和计费项。
当您开通MOS服务后,默认的付费方式为按量计费。针对部分计费项目, 您也可以购买资源包(包年包月)进行抵扣。资源包是MOS针对不同计费项推出的 固定套餐,当您购买指定资源包后,MOS会按您的实际使用情况扣除资源包的额度。 与按量计费相比,资源包享有更高的折扣优惠。
下表列出了MOS目前支持的资源包及资源包相应的抵扣规则,其中“√”表示此类资源包支持对应操作,“×”表示不支持。
资源包名称 | 抵扣费用 |
---|---|
标准(LRS)存储包 |
标准存储(本地冗余)容量费用:存储空间内存放的标准存储(本地冗余)类型文件所产生的存储费用。
快照容量费用:MCS实例创建MCS快照产生的快照存储费用。 |
低频(LRS)存储包 | 低频访问(本地冗余)容量费用:存储空间内存放的低频访问(本地冗余)类型文件所产生的存储费用。 |
归档(LRS)存储包 | 归档存储(本地冗余)容量费用:归档存储(本地冗余)类型文件所产生的存储费用。 |
标准(ZRS)存储包 |
标准存储(同城冗余)容量费用:存储空间内存放的标准存储(同城冗余)类型文件所产生的存储费用。
说明 您在创建存储空间时,若冗余类型选择同城冗余, 则存储空间内标准存储和低频访问文件均为同城冗余类型。 |
低频(ZRS)存储包 | 低频访问(同城冗余)容量费用: 存储空间内存放的低频访问(同城冗余)类型文件所产生的存储费用。 |
下行流量包 | 外网流出流量费用:通过互联网浏览或下载MOS数据所产生的外网流出流量费用。 |
回源流量包 | CDN回源流出流量费用:通过CDN服务层浏览或下载MOS数据所产生的回源流量费用。 |
传输加速包 |
使用传输加速域名访问MOS产生的传输加速费用。
传输加速AccM2MIn 传输加速AccM2MOut 传输加速AccM2OIn 传输加速AccM2OOut 传输加速AccO2MIn 传输加速AccO2MOut 传输加速AccO2OIn 传输加速AccO2OOut |
说明
对于未提供资源包的计费项,例如数据处理、跨区域复制流量、请求次数、对象标签等费用需按量计费。
关于计量项和计费项的详细信息,请参见计量项和计费项。
关于资源包的规格和价格,请参见购买资源包。
除传输加速包外,MOS资源包按照适用范围分为地域资源包和中国大陆通用资源包两大类,详情请参见购买资源包。
地域资源包
可用于抵扣指定地域内对应资源的使用费用,不同地域之间不共享。
例如您购买了华北1(青岛)的资源包,则仅能抵扣华北1青岛对应资源的使用费用,无法抵扣其他地域的资源使用费用。
中国大陆通用资源包
可用于抵扣中国内地各个地域对应资源的使用费用,例如华东1(杭州)、华东2(上海)、华南1(深圳)等。无法抵扣中国内地以外地域的资源使用费用,例如中国香港、新加坡、美西、美东等。
说明 中国大陆通用资源包与中国内地各地域资源包可以同时购买, 抵扣费用时先抵扣地域资源包,超出额度后再抵扣中国大陆通用资源包,若仍有超出,则超出部分按量付费。
传输加速包根据访问地域不同,分为以下三种:
传输加速M2M:抵扣通过传输加速域名,从中国内地访问中国内地的MOS时,产生的上传、下载的传输加速费用(AccM2MIn、AccM2MOut)。
传输加速M2O_O2M:可抵扣通过传输加速域名,从非中国内地访问中国内地的MOS,或者从中国内地访问非中国内地的MOS时,产生的上传、下载的传输加速费用(AccM2OIn、AccM2OOut、AccO2MIn、AccO2MOut)。
传输加速O2O:可抵扣通过传输加速域名,从非中国内地访问非中国内地的MOS时,产生的上传、下载的传输加速费用(AccO2OIn、AccO2OOut)。
1.进入资源包购买页。
2.根据您的实际情况选择资源包类型、地域、规格、时长等参数,之后单击立即购买。
3.按照购买流程完成付款即可。
目前各类资源包可供购买的地域如下:
资源包名称 | 购买地域 |
---|---|
标准(LRS)存储包 | 中国大陆通用、中国香港、华东1(杭州)、华东2(上海)、 华南1(深圳)、华北1(青岛)、华北2(北京)、华北3( 张家口)、华北5(呼和浩特)、新加坡、美西、美东 |
低频(LRS)存储包 | 中国大陆通用、华东1(杭州)、华东2(上海)、 华南1(深圳)、华北1(青岛)、华北2(北京)、 华北3(张家口)、华北5(呼和浩特)、西南1(成都) |
归档(LRS)存储包 | 中国大陆通用、华东1(杭州)、华东2(上海)、 华南1(深圳)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特) |
标准(ZRS)存储包 | 中国大陆通用 |
低频(ZRS)存储包 | 中国大陆通用 |
下行流量包 | 中国大陆通用、中国香港、华东1(杭州)、华东2(上海)、 华南1(深圳)、华北1(青岛)、华北2(北京)、 华北3(张家口)、华北5(呼和浩特)、新加坡、美西、美东 |
回源流量包 | 中国大陆通用、华东1(杭州)、 华东2(上海)、华南1(深圳)、 华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特) |
传输加速包 | 传输加速M2M(中国内地与中国内地之间)、 传输加速M2O_O2M(中国内地与非中国内地之间)、传输加速O2O(非中国内地与非中国内地之间) |
如果您需要更高规格的MOS资源包,可以对当前资源包进行升级。详情请参见 资源包升级。
您可以对即将到期的资源包进行续费,以延长资源包使用时间。详情请参见 续费资源包
陈先生2020年6月购买了500 GB的中国大陆通用标准(LRS)存储包和100 GB的中国大陆通用下行流量包,其6月份的资源使用量为:
华东1(杭州)地域当月标准存储(本地冗余)类型文件存储量为300 GB、外网流出流量110 GB、API请求次数10万次。
华东2(上海)地域当月标准存储(本地冗余)类型文件存储量为100 GB、标准存储(同城冗余)类型文件存储量为200 GB。
该用户的资源包使用情况如下:
地域 | 资源包抵扣 | 按量付费 |
---|---|---|
华东1(杭州) | 使用500 GB的标准(LRS)存储包抵扣300 GB标准存储(本地冗余)容量费用。 | 10万次API请求费用。 |
华东1(杭州) | 使用100 GB下行流量包抵扣其中100 GB外网流出流量费用。 | 剩余10 GB外网流出流量费用。 |
华东2(上海) | 使用500 GB的标准(LRS)存储包抵扣100 GB标准存储(本地冗余)容量费用。 | 200 GB标准存储(同城冗余)容量费用。 |
资源包何时生效?
资源包支付后立即生效,但资源包购买前产生的欠费无法使用资源包进行抵扣。
资源包到期后怎么办?
资源包到期后,如果未及时续费,系统会自动以按量计费的方式进行结算。
资源包可以退款吗?
资源包如果没有使用,支持退款。详情请参见资源包退订。
资源包超出额度怎么办?
您实际使用量超过资源包额度时,超出部分按量计费。若超出额度较多,建议您针对资源包的特性进行升级或购买多个资源包叠加使用。详情请参见资源包即将到期或额度不够用怎么办?。
资源包可以叠加购买吗?
存储包不支持叠加购买。
同地域、同类型的存储包在同一时段内只能购买一次。如果您需要更高规格,或者更长周期的存储包,您可以选择对已经购买的存储包进行升级或续费。
下行流量包支持叠加购买和续费,但不支持升级。
传输加速包和回源流量包支持叠加购买,但不支持升级和续费。
如果您需要更高规格的MOS资源包,可以对当前资源包进行升级。
对于存储包,您可以对其升级(升配),但无法降低其配置(降配)。
对于下行流量包、回源流量包、传输加速包,您可以通过叠加购买的方式达到升级效果。
1. MOS控制台。
2.单击资源包管理页签。
3.在资源包列表中选择需要升级的资源包,单击升级。
说明 如需通过RAM用户(子账号)进行升级,需授予RAM 用户在费用中心(BSS)查看订单、支付订单 及取消订单的权限(moduyunBSSOrderAccess)。
4.选择要升级的资源包规格,单击去支付,根据后续提示完成支付。
如果您未开通MOS但使用了MCS快照存储服务,想要升级MOS资源包,那么您需要先开通MOS服务(具体操作请参见开通MOS服务),然后按照已开通MOS的用户升级MOS资源包的步骤来升级MOS资源包。
升级完成后,您可以查看快照存储已用容量。详情请参见
查看快照容量。
您可以随时对已购资源包进行续费。续费时,您可以指定生效时间、购买时长、资源包规格。
目前仅各类型存储包和下行流量包支持续费。
1.登录 MOS控制台。
2.单击资源包管理页签。
3.在资源包列表中单击指定资源包右侧的续费。
说明 如需通过RAM用户(子账号)进行升级,需授予RAM 用户在费用中心(BSS)查看订单、支付订单及取消订单的权限(moduyunBSSOrderAccess)。
4.选择要续费的资源包的续费时长,系统显示您所选资源包配置的价格。选中《对象存储MOS资源包(包月)服务协议》后单击去支付。
5.根据系统提示完成支付流程。
存储容量单位包SCU(Storage Capacity Unit)是一种预付费存储容量资源包, 可用于抵扣多种云存储产品存储容量费用。相比其他单一产品的存储包,SCU使用更灵活,性价比更高。
SCU的购买方式,请参见 创建存储容量单位包。
说明 SCU支持叠加购买,即同一地域同一生效时间内,您可以购买多个SCU抵扣您的存储费用。
SCU可以抵扣MOS、MCS、NAS和HBR的部分存储费用,下表列出中国内地SCU抵扣MOS各存储类型费用时的抵扣规则。
说明 其他地域和其他云产品的抵扣规则,请参见产品定价。
存储类型 | 抵扣系数 | 说明 |
---|---|---|
0.12 | 每0.12 GB SCU容量可抵扣1 GB标准存储(本地冗余)容量。 | |
标准存储(同城冗余) | 0.15 | 每0.15 GB SCU容量可抵扣1 GB标准存储(同城冗余)容量。 |
低频访问(本地冗余) | 0.08 | 每0.08 GB SCU容量可抵扣1 GB低频访问(本地冗余)容量。 |
低频访问(同城冗余) | 0.1 | 每0.1 GB SCU容量可抵扣1 GB低频访问(同城冗余)容量。 |
归档存储(本地冗余) | 0.03 | 每0.03 GB SCU容量可抵扣1 GB归档存储(本地冗余)容量。 |
MOS存储费用的抵扣顺序为:地域存储包 > 中国大陆通用存储包>SCU>按量计费
陈先生2020年6月在华东1(杭州)购买了500 GB的标准(LRS)存储包和20 GB SCU,其6月份在华东1(杭州)地域标准存储 (本地冗余)类型文件存储量为600 GB、归档存储(本地冗余)类型文件存储量为200 GB,则陈先生当月的存储费用抵扣情况如下:
存储类型 | 存储包抵扣 | SCU抵扣 |
---|---|---|
标准存储(本地冗余) | 使用500 GB的标准(LRS)存储包抵扣500 GB存储费用。 | 使用12 GB SCU抵扣剩余100 GB存储费用。 |
归档存储(本地冗余) | 无 | 使用6 GB SCU抵扣200 GB存储费用。 |
MOS所有计费项均单独计费。当您的使用场景涉及多个功能时,会产生多个计费项。本文介绍几种特殊场景下的计费详情。
通过内网访问同地域MOS内的文件时产生的流量费用是免费的,其他费用如请求费用、存储费用等,需正常计费。
示例:客户A某月在华东1(杭州)的存储空间(Bucket)内存储了1
TB的标准存储(本地冗余)类型文件,并在当月通过华东1(杭州)地域的摩杜云MCS实例使用Bucket的内网地址访问该Bucket中的资源,共产生100
GB的内网流出流量、10万次的API请求次数。则客户A当月产生的费用如下:
计费项 | 费用 |
---|---|
标准存储(本地冗余)容量费用 | 1(TB)×1024×0.12(元/GB/月)=122.88元 |
请求费用 | 100000×0.01(元/万次)÷10000=0.1元 |
内网流出流量费用 | 免费 |
MOS的生命周期规则支持以下操作:
标准存储(本地冗余,LRS)类型可转换为低频访问(本地冗余)、归档存储(本地冗余)和冷归档存储(本地冗余)类型。
标准存储(同城冗余,ZRS)类型转换为低频访问(同城冗余)类型。
低频访问(本地冗余)类型可转换为归档存储(本地冗余)和冷归档存储(本地冗余)类型。
归档存储(本地冗余)类型转换为冷归档存储(本地冗余)类型。
删除文件。
触发Bucket配置的生命周期规则后,将产生如下相关费用:
操作类型 | 相关费用 | 可用资源包 |
---|---|---|
标准存储(本地冗余)转为低频访问(本地冗余) | 请求费用:按转换的文件数计费。计费详情,请参见 请求费用。 | 无 |
标准存储(本地冗余)转为低频访问(本地冗余) | 低频访问(本地冗余)容量费用:按转换后的低频存 储(本地冗余)类型计算文件存储费用。计费详情,请参见 存储费用 | 低频(LRS)存储包 |
标准存储(本地冗余)转为低频访问(本地冗余) | 低频访问数据取回费用:访问低频类型文件时,按实际访问量计费。计费详情,请参见 数据处理费用 | 无 |
标准存储(同城冗余)转为低频访问(同城冗余) | 请求费用 | 无 |
标准存储(同城冗余)转为低频访问(同城冗余) | 低频访问(同城冗余)容量费用:按转换后的 低频访问(同城冗余)类型计算文件存储费用。计费详情,请参见 存储费用。 | 低频(ZRS)存储包 |
标准存储(同城冗余)转为低频访问(同城冗余) | 低频访问数据取回费用 | 无 |
其他存储类型转为归档存储(本地冗余) | 请求费用 | 无 |
其他存储类型转为归档存储(本地冗余) | 归档存储(本地冗余)容量费用:按转换后的归档存储 (本地冗余)类型计算文件存储费用。计费详情,请参见 存储费用。 | 归档(LRS)存储包 |
其他存储类型转为归档存储(本地冗余) | 归档存储数据取回费用:解冻归档存储类型文件时,按解冻文件大小计费。计费详情,请参见 数据处理费用。 | 无 |
其他存储类型转为冷归档存储(本地冗余) | 请求费用 | 无 |
其他存储类型转为冷归档存储(本地冗余) | 冷归档存储(本地冗余)容量费用:按转换后的冷归档存储 (本地冗余)类型计算文件存储费用。计费详情,请参见 存储费用。 | 无 |
其他存储类型转为冷归档存储(本地冗余) | 冷归档存储数据取回费用:解冻冷归档存储类型文件时,按解冻文件大小计费。计费详情,请参见 数据处理费用。 | 无 |
其他存储类型转为冷归档存储(本地冗余) | 取回临时存储(本地冗余)费用:冷归档存储类型文件在数据解冻时会生成一份标准存储 (本地冗余)类型的文件副本用于访问。这部分文件在解冻时间结束前会计算存储费用。计费详情,请参见 临时存储费用。 | 无 |
删除文件 | 请求费用 | 无 |
删除文件 | 低频访问、归档、冷归档类型文件不足规定时长容量费用:若删除的文件为低频访问、 归档存储或冷归档存储类型,且存储时间未满规定时长, 则会收取剩余时间的存储费用。计费详情,请参见 存储费用。 | 无 |
通过跨区域复制功能同步文件时会产生如下费用:
计费项 | 说明 | 可用资源包 |
---|---|---|
跨区域复制流量费用 | 使用跨区域复制功能将源Bucket的数据同步到目标Bucket时产生的流出流量。计费详情,请参见 流量费用。 | 无 |
请求费用 | 每同步1个文件,MOS会累计请求次数并进行按量计费。计费详情,请参见 请求费用。 | 无 |
如果MOS结合摩杜云CDN加速服务使用时,您请求数据的流程如下图所示。
产生的费用如下:
计费项 | 说明 | 可用资源包 |
---|---|---|
CDN流出流量 | 数据从CDN边缘节点传输到客户端所产生的CDN流出流量,由CDN收取。计费详情,请参见 基础服务计费 | 预付费下行流量资源包 |
CDN回源流出流量 | 数据从MOS传输到CDN边缘节点产生的回源流量,由MOS收取。计费详情,请参见 流量费用 | 回源流量包 |
请求费用 | CDN边缘节点访问MOS时调用MOS API产生的请求费用,按请求次数收费。计费详情,请参见 请求费用 | 无 |
本文以案例形式介绍对象存储MOS费用的计算方法及计费方案的选择。
以下案例单价来自2018年1月3日摩杜云官网公布的详细价格信息。单价的变动请以摩杜云官网发布的数据为准。
李先生在MOS内存储了505 GB标准存储(本地冗余)类型文件,存储空间所在地域为华东1(杭州), 每小时的请求数均值为1000次,每天的外网流出流量约为2 GB 。李先生可以选择以下两种方案进行付费:
仅按量计费
存储费用=505 GB*0.12元/GB/月=60.6元
请求费用=1000*0.01元/10000次*24小时*30天=0.72元
流量费用=2 GB*30天*0.5元/GB=30元
说明 MOS计算流量费用时,分为忙时流量(8:00~24:00,0.50元/GB) 和闲时流量(00:00~08:00,0.25元/GB),此处按忙时流量计算。
总费用:约91.32元
包年包月+按量计费
存储费用=54元(500 GB标准(LRS)存储包)+5 GB*0.12元/GB/月=54.6元
说明 超出存储包的5 GB数据按量计费。
请求费用=1000*0.01元/10000次*24小时*30天=0.72元
流量费用=9.96元(50 GB流量包)+10 GB*0.5元/GB=14.96元
说明
流量以忙时流量计算。
50 GB流量包只有半年包,平均每月需59.76元/6个月=9.96元。
总费用:约70.28元
张先生在MOS内存储了100 GB的低频存储(本地冗余)类型文件。其中,有10000个大小为30 KB的文件。20号的时候,张先生下载了一个 大小为1 GB的文件到本地,并将文件内容更新之后重新上传至MOS,更新后的文件大小仍为1 GB。则张先生当月约需支付8.59元:
存储费用=100.32 GB*0.08元/GB/月=8.03元
说明 低频存储(本地冗余)类型的文件最小存储单元为64 KB,10000个30 KB的文件实际大小约为0.29 GB,MOS实际计量为0.61 GB。所以,存储量计算为100.32 GB。
外网流出流量费用=1 GB*0.5元/GB=0.5元
提前删除费用=1 GB*0.08/GB/月/30天*10天=0.027元
说明 上传新的同名文件到MOS会导致MOS内原有文件被删除,并保存新的文件,会产生提前删除费用。
数据取回费用=1 GB*0.0325元/GB=0.0325元
请求次数较少,请求费用可忽略
总费用:约8.59元
王先生4月1日在杭州的存储空间A内存储了100 GB标准存储(本地冗余)类型的文件,并且每天新增3 GB的文件。为保障数据存储安全,王先生设置了跨区域复制, 将数据同步至上海的存储空间B内。存储空间A和B平均每天的请求数共计约20000次。赵先生可根据情况选择以下付费方式:
按量计费
存储费用=(100 GB*0.12元/月+3*0.004 元/天*29
天+3*0.004*28+3*0.004*27+......+3*0.004*1)*2=34.44 元
说明
GB文件每天的存储费用为0.12元/月/30 天=0.004元/天。
因上海地域需要同步杭州地域的数据,所以总费用需乘2。
跨区域复制流量费用=100 GB*0.5 元/GB+3 GB*0.5元/GB*29 天=93.5 元
请求费用=20000次*0.01元/10000 次*30=0.6元
总费用:约128.54元
包年包月+按量计费
存储费用=(11(标准(LRS)存储包)+3*0.004元/天*29
天+3*0.004*28+3*0.004*27+......+3*0.004*1)*2=32.44 元
说明 杭州和上海都买一个100 GB的标准(LRS)存储包。
跨区域复制流量费用=100 GB*0.5 元/GB+3 GB*0.5 元/GB*29 天=93.5元
请求费用=20000次*0.01元/10000次*30=0.6 元
总费用:约126.54元
若王先生的数据仅增加,不修改,可以将上海地域的备份数据做归档存储
存储费用=(11(标准(LRS)存储包)+3*0.004 元/天*29
天+3*0.004*28+3*0.004*27+......+3*0.004*1)+(3(归档(LRS)存储包)+3
GB*0.011元/GB/天*29天+3*0.011*28+3*0.011*27+......+3*0.011*1)=20.66 元
跨区域复制流量费用=100 GB*0.5 元/GB+3 GB*0.5 元/GB*29 天=93.5 元
请求费用=20000次*0.01元/10000次*30=0.6元
总费用:约114.76元
由上面的案例可以看出:
当您使用的资源达到一定数值的时候,购买资源包(包年包月)费用更低。
存储类型不同,产生的存储费用也不一样,请根据自身的实际情况选择合适的存储类型。
若您有大量小于64 KB,需长期存储,且基本不再访问的文件,可将这部分文件打包压缩之后在进行归档存储,可节省大量空间。
您可以在费用中心查看MOS详细的计量计费信息,包括请求次数、流量、图片处理和存储费用等。
建议您通过费用中心获取较准确的计量计费数据。您也可以在MOS控制台查看资源使用量数据(包括存储量、请求次数、上传下载流量等), 但由于查看到的资源使用量数据有延迟,不作为实际计量数据,仅作参考。详情请参见 查看资源使用量。
您可以在费用中心查询MOS的账单明细。
1.登录摩杜云管理控制台。
2.单击顶部导航栏中的费用。
3.在左侧菜单栏中,单击费用账单,然后单击账单明细页签。
4.设置查询账期,并在列表中筛选产品为对象存储。通过统计项和统计周期可选择您账单的展示内容。
参数 | 说明 |
---|---|
统计项 |
账单按指定分类展示。
计费项:将账单按计费项分类,相同的计费项产生的费用会被合并。 实例:将账单按实例分类,相同实例产生的费用会被合并。 产品:将账单按产品分类,相同产品产生的费用会被合并。 账号:将账单按账号分类,相同账号产生的费用会被合并。 财务单元:将账单按财务单元分类,相同财务单元产生的费用会被合并。 |
统计周期 |
账单按指定周期展示。
账期:按照选择的账期展示当月账单。 按天:以天为单位,展示当月每天的账单。 明细:以小时为单位,展示当月每小时的明细账单。 |
例如,您希望查看2020年5月MOS每小时的费用明细,可使用如下配置:
说明
MOS是按小时计费的,所以选择按账期或按天展示的账单时,用量数据显示的是当月或当天的累计用量。例如按天统计时,您的实际存储量为1 TB,则账单显示的存储量为24
TB,账单显示结果并不影响计费结果,依然按照1 TB数据存储了24小时计费。
您可以单击账单右上角的定制列,选择您希望展示的账单内容。
如果想更方便的分析您的账单,可以单击导出账单CSV,将您当前账单导出到本地查看。
您可以在费用中心查询指定周期内,指定资源包的消费明细。
1.登录摩杜云管理控制台。
2.单击顶部导航栏中的费用。
3.在左侧菜单栏单击资源包管理 > 资源包 > 使用明细。
4.在使用明细页签,配置您的查询参数,配置完成后单击搜索。
参数配置如下:
参数 | 说明 |
---|---|
抵扣时间 | 选择您希望查询的时间范围。 |
资源包实例ID | 若您希望根据资源包的实例ID查看指定资源包的使用详情,可以配置此项。 |
抵扣实例ID | 若您希望根据抵扣实例ID查询资源包的使用详情,可以配置此项。 |
注意 如果您购买的资源包是中国大陆通用资源包,在同一时段 可能有多条抵扣记录,查看最后一条抵扣记录(即列表最上面一条)可以看出您的资源包剩余量。
如果您希望查看MOS每个存储空间的使用记录明细,可导出MOS的用量明细表。
1.登录摩杜云管理控制台。
2.单击顶部导航栏中的费用。
3.在左侧菜单栏选择全部菜单项 > 费用账单 > 用量明细。
4.在用量明细页面置您查询参数。
参数设置如下:
参数 | 说明 |
---|---|
产品 | 选择对象存储MOS。 |
计量规格 | 选择对象存储MOS。 |
使用期间 |
选择您希望查询的时间段。
查询的开始时间和结束时间仅可以在同月内,
不可跨月查询。例如开始时间为2019-04-01,
结束时间最大为2019-04-30,不能选择2019-05-01。
说明 超过12个月的使用记录查询需联系售后技术支持。 |
计量粒度 | 可选择按天或按小时导出记录。 |
验证码 | 输入显示的验证码。 |
5.单击导出CSV,待表格生成之后,将表格保存到电脑上后即可查看MOS使用记录明细。
在账单明细中查看或导出的账单显示存储量与实际不符?
问题原因:由于MOS是按小时计费,所以当您统计周期选择按天统计时,MOS会将所选当天24小时内的存储量汇总起来,导致存储量与实际不符的情况。例如当天的存储量一直为1
TB,则账单显示的存储量为24 TB,账单显示结果并不影响计费结果,依然按照1 TB数据存储了24小时计费。
本文介绍对象存储MOS产生欠费之后的服务状态。
当您的MOS服务处于以下情况时,可能会产生欠费:
您没有购买资源包,且您绑定的账户余额不足。
您已购买资源包,详细的欠费原因请参见购买了资源包为何仍会欠费?。
MOS产生欠费后的服务状态变化如下:
欠费后如果在延停权益额度内,您的服务将不会受到停服影响。
说明 摩杜云提供延停权益,即当按量付费的资源发生欠费后, 提供一定额度或时长继续使用云服务的权益。延停期间正常计费。延停的权益额度不是欠费总额的上限。 您延停的额度或时长根据您在摩杜云的历史消费等因素, 每个月自动计算并更新。更多信息,请参见延期免停权益。
欠费后如果超出了延停权益额度,MOS服务将自动停止。而您所占用的存储空间资源仍会继续扣费,因此欠费会累积。
如果您在MOS停服后15天内充值补足欠款,MOS服务会自动启用。
如果您在MOS停服后15天内未补足欠款,将视为您主动放弃MOS存储服务,摩杜云将终止本产品服务条款并停止为您继续提供服务,您保存在摩杜云的全部数据将会被清理删除,清理后数据不可恢复。请注意,数据清理之前仍会继续计费,若您确认不再使用MOS存储服务,请务必删除MOS上的数据。
通过本文您可以了解退订资源包需满足的条件。
您可以联系摩杜云客服申请取消已购买的资源包,但必须同时符合以下所有条件:
该资源包未使用。
该资源包新购不足5天。
该资源包不是通过升级或续费购买的。
本文列举关于MOS计量计费的常见问题。
购买了资源包为何仍会欠费?
MCS快照可以使用MOS存储包吗?
中国大陆通用资源包和地域资源包的使用说明
资源包为什么不能续费?
MOS控制台显示的本月外网流量与日志服务统计的不一致?
已经产生的欠费是否可以购买资源包进行抵扣?
资源包即将到期或额度不够怎么办?
如何取消资源包?
MOS服务如何停止计费?
对象存储MOS提供多种类型的资源包, 用以抵扣您使用MOS过程中产生的部分费用, 但是资源包并不能抵扣所有费用。本文将为您解答为什么购买了资源包之后仍会欠费。
购买了资源包后仍出现欠费,主要有以下原因:
您使用MOS时产生了多个计费项,但是仅购买了其中部分计费项对应的资源包。
您的数据存储在MOS上,会产生数据存储费用,您可以购买以下资源包进行抵扣:
如果您购买了MOS存储包,需注意不同的存储类型对应不同的存储包,不支持混合使用。例如标准存储类型的存储包不能抵扣低频存储类型的存储费用,本地冗余存储(LRS)类型的存储包不能抵扣同城冗余存储(ZRS)类型的存储费用。
如果您购买了存储容量单位包SCU,需注意SCU不能抵扣冷归档存储(LRS)类型文件的存储费用。SCU详细介绍,请参见存储容量单位包SCU。
如果您的数据需要提供给他人访问、下载等,还会产生如下行流量费用、请求费用等,其中的下行流量费用可以使用“下行流量包”进行抵扣,而请求费用目前没有任何资源包可以抵扣,只能使用按量付费的方式,这也是购买了资源包仍然出现欠费的最常见原因。
如果MOS和CDN搭配使用,还可能产生CDN回源流量费用,您可以购买“回源流量包”进行抵扣。
说明
计费项介绍请参见
计量项和计费项概述。
资源包使用说明请参见
包年包月(资源包)。
您购买的是某个地域的资源包,而实际产生的费用发生在其他地域。
MOS的地域资源包和SCU仅可以抵扣对应地域的对应计费项,例如华东2(上海)产生的费用无法使用华东1(杭州)的资源包进行抵扣。
MOS的中国大陆通用资源包只能抵扣中国内地各地域的对应计费项,不能抵扣中国香港和海外地域的对应计费项,例如新加坡地域产生的费用无法使用中国大陆通用资源包进行抵扣。
如果是中国内地,且资源包价格相同的情况下,建议您优先购买对应计费项的中国大陆通用资源包。中国大陆通用资源包可以用来抵扣中国内地所有地域的对应计费项。
您的实际使用量超出了资源包规格。
例如您购买了100 GB下行流量包,但是当月的下行流量达到了110 GB,则超出的10
GB流量需按量付费,因此仍会产生欠费。您可以对资源包进行升级以避免出现该情况。
另外,MOS的标准(LRS)存储包可用于抵扣MOS标准存储(本地冗余)容量和MCS普通快照容量费用;SCU可用于抵扣多个产品的部分存储费用,如果您同时使用了多个产品,且资源包不足以抵扣这些产品的合计费用时,也会产生欠费。例如您购买了100
GB的标准(LRS)存储包,您的实际存储量是90 GB。但是,如果您还有MCS快照的存储量20
GB,也会通过标准(LRS)存储包进行抵扣,由于总的存储量为110
GB,超出了存储包规格,因此会产生欠费。
出账系统有延迟。
资源包生效后(MOS的资源包购买后立即生效,SCU需指定生效时间)会自动抵扣相应资源的使用费用,但是摩杜云当前的账单系统存在延迟。例如资源包9点开始生效,您在10点仍收到了欠费账单,这些欠费可能是9点之前产生的。建议您在收到账单后,仔细核对一下费用产生的时间。
现在您已经了解了欠费的原因,您可以按照以下步骤查看具体的欠费项目和欠费金额。
1.登录摩杜云控制台。
2.单击顶部导航栏中的费用,进入摩杜云用户中心。
3.在左侧菜单栏,单击费用账单 ,然后单击账单明细页签。
4.选择要查询的账期,设置统计项为计费项,统计周期为明细。
5.在列表中,单击产品选择对象存储,单击消费类型选择后付费,再结合地域和计费项这两列的信息就可以判断具体的欠费情况了。
您可以在摩杜云用户中心查看资源包的具体使用情况。
1.登录摩杜云控制台。
2.单击顶部导航栏中的费用,进入摩杜云用户中心。
3.单击资源管理 > 资源包。
4.单击使用明细页签,设置相关的查询条件,即可查看资源包具体的抵扣量和剩余量。
虑到一键关闭会导致客户的业务受到影响,因此MOS暂时没有提供此功能。
如果您确实不想再使用MOS服务,可以删除存储空间(Bucket)下的所有对象(Object)、因分片上传或断点续传产生的碎片(Part)、以及LiveChannel,再删除Bucket,即可在下一个账期(MOS按量付费一小时出一次账单)不产生扣费信息。推荐您通过对象生命周期功能来自动批量删除Object。
如果您长时间(超过30天)不需要使用MOS上的数据,又不想将这些数据删除,建议您通过对象生命周期功能将标准存储转换成低频访问或者归档存储,可以节省约50%到80%的费用。有关低频访问和归档存储类型,请您参见存储类型介绍。
MCS快照数据独立存储,存储费用可使用MOS标准(LRS)存储包抵扣。 当您购买了MOS标准(LRS)存储包后,会自动抵扣MCS快照的费用,不需要任何操作。
使用MCS快照存储服务,有两种付费方式:
包年包月(推荐):购买MOS标准(LRS)存储包,存储费用更低。 MOS存储包还支持续费和升级操作,您可以根据自己的存储量随时升级您的存储包。购买标准(LRS)存储包请单击购买资源包。
说明
购买存储包前请您注意:
请认真核对您资源所在的地域,不要跨地域购买存储包,不同地域的存储包不通用,会导致您资源用量抵扣不成功。
同地域的存储包,在同一时间段内不能重复购买。如果当前时间段内已有存储包,您需要在开通时间选择中指定新存储包开始生效时间,应晚于当前存储包到期时间(该场景适用于存储包续费)。
按量付费:按快照实际大小进行计量计费,每小时进行扣费。更多信息请参考 快照计费
您可以通过MOS控制台或者MCS控制台查看MCS快照容量。
通过MOS控制台查看MCS快照容量
i.登录 对象存储MOS控制台。
ii.在概览页的基础数据区域,从存储用量下拉列表中选择MCS快照存储即可查看MCS快照容量。
通过MCS控制台查看MCS快照容量
i.登录云服务器MCS控制台。
ii.在左侧导航栏里,选择存储与快照 > 快照 > 快照容量。
iii.选择业务部署的地域即可查看当前快照容量。
自2018年01月05日起,除了各地域的资源包外,您还可以购买中国大陆通用资源包。
地域资源包和中国大陆通用资源包可以合并使用,但抵扣顺序是先抵扣地域资源包,额度用完再抵扣中国大陆通用资源包。
中国大陆通用资源包可以抵扣中国内地所有地域的对应计费项,例如华东1(杭州)、华东2(上海)、华南1(深圳)等。中国大陆通用资源包不能抵扣中国香港和海外地域的对应计费项。
您可以同时购买中国大陆通用资源包和地域资源包。
资源包抵扣顺序:先抵扣地域资源包,额度用完再抵扣中国大陆通用资源包,若仍有未抵扣完的费用,则按量计费。
同一地域,相同类型的存储包只能购买一次。您可以对已购的存储包进行续费、升级。
同一地域,下行流量包、回源流量包、传输加速包可以购买多个,叠加使用。已购买的下行流量包支持续费,但不支持升级;回源流量包和传输加速包不支持续费和升级。
资源包的购买及使用详情请参见包年包月(资源包)。
可以只买中国大陆通用资源包,不买地域资源包吗?
可以,中国大陆通用资源包和各地域资源包的种类是一样的,都分为:标准(LRS)存储包、低频(LRS)存储包、归档(LRS)存储包、标准(ZRS)存储包、低频(ZRS)存储包、下行流量包、回源流量包。不能抵扣请求次数、数据处理等费用。具体请参见计量项和计费项概述。
如果已经购买了地域资源包怎么办?
如果您已购买了中国大陆地区的各地域资源包,如华东1、华东2、华南1等。这些地域资源包继续有效,有效期内可升级、可续费。您也可以新购中国大陆通用资源包,两种资源包可以合并使用,但抵扣顺序为:先抵扣地域资源包,再抵扣中国大陆通用资源包。
已购买的地域资源包,能否变更成中国大陆通用资源包?
不能,已购买的地域资源包无法转化为中国大陆通用资源包,但您可以新购中国大陆通用资源包。资源包抵扣顺序:先抵扣地域资源包,再抵扣中国大陆通用资源包。
您给MOS资源包续费时如果出现以下提示:
“同一区域,同一时间段或者相交时段存在已经生效的资源包,您可以选择其他区域或者对当前生效的资源包升级配置。”
这是因为您之前购买了同一地域不同时间段的资源包,当您给一个资源包续费时,选择的续费时长与其他已有的资源包的有效期有重合。这种情况下,如果要续费,续费时长只能选择没有重合的时间段。
使用日志服务提供的命令进行查询时只能统计到7天内的数据,而MOS控制台统计到的是整个月已经产生的流量数据,所以会出现数据不一致的情况。
如果要查询准确的计量数据,请以费用中心数据为准。详情请参见
查看消费明细。
不可以。对象存储MOS的资源包仅可以抵扣购买资源包之后产生的对应费用,对于购买资源包前产生的欠费,您只能通过充值抵消欠款。
对象存储MOS的资源包都有使用期或抵扣额度,本文介绍资源包即将到期或额度不够用时怎么处理。
MOS支持对资源包进行续费、升级或叠加操作,以应对资源包到期或额度不够的问题:
续费:对快到期资源包进行续费操作,以延长资源包的使用期限。详情请参见
续费资源包。
升级:如果您需要更高规格的MOS资源包,可以对当前资源包进行升级。详情请参见
升级资源包。
叠加:对于部分类型的资源包,您可以购买多个相同时间的资源包进行叠加使用。例如,您购买2个相同地域、相同期限的下行流量包,若2个都是1
TB,则资源包生效起内,可以抵扣2
TB的下行流量费用。
注意 对于已到期的资源包,您无法进行续费和升级操作,只能重新购买。
下表列出可以升级、续费或叠加的资源包。其中“√”表示此类资源包支持对应操作,“×”表示不支持。
资源包名称 | 使用说明 | 升级 | 续费 | 叠加 |
---|---|---|---|---|
标准(LRS)存储包 | 抵扣标准存储-本地冗余类型文件的存储费用和MCS快照存储费用。 | |||
低频(LRS)存储包 | 抵扣低频访问存储-本地冗余类型文件的存储费用。 | |||
归档(LRS)存储包 | 抵扣归档存储类型文件的存储费用。 | |||
标准(ZRS)存储包 | 抵扣标准存储-同城冗余类型文件的存储费用。 | |||
低频(ZRS)存储包 | 抵扣低频访问存储-同城冗余类型文件的存储费用。 | |||
下行流量包 | 抵扣外网流出流量费用,适用于所有存储类型。 | |||
回源流量包 | 使用CDN加速域名访问MOS资源时会产生CDN回源流量,直接使用MOS访问域名访问MOS资源时不会产生此流量。回源流量包可用于抵扣从CDN回源到MOS所产生的流量,适用于所有存储类型。 | |||
传输加速包 | 用于抵扣使用传输加速域名访问MOS产生的传输加速费用,适用于所有存储类型。 |
对象存储MOS的低频访问和归档存储类型文件的最小存储单元为64 KB,所有小于64 KB的文件都会按照64 KB计算。所以,如果您存储空间内有很多小于64
KB的低频访问或归档存储类型文件,会出现计费容量远远大于实际存储量的情况。
您可以在MOS管理控制台对应Bucket的概览页,查看存储空间内低频访问和归档存储类型文件的实际容量和计费容量。详情请参见基础数据。
摩杜云对象存储MOS(Moduyun Object Storage )为您提供基于网络的数据存取服务。 使用MOS,您可以通过网络随时存储和调用包括文本、图片、音视频在内的各类数据文件。
您可以通过MOS控制台创建Bucket,并将文件上传至Bucket。 上传完成后,将文件(Object)下载至本地或者通过生成签名URL的方 式将文件分享给第三方,供其下载或预览。更多信息,请参见控制台使用流程。
MOSbrowser是MOS的图形化工具,支持Windows、Linux、macOS系统。
您可以通过MOSbrowser的图形化界面方便直观地管理Bucket、
上传下载Object和文件夹(目录)、简化Policy授权等操作。更多信息,请参见
图形化管理工具MOSbrowser快速入门。
MOSbrowser是桌面式图形化工具,所以传输速度和性能不如MOSutil。
MOSutil是MOS的命令行工具,支持Windows、Linux、macOS系统。您可以通过MOSutil提供的方便、 简洁、丰富的Bucket和Object命令管理您的MOS。更多信息,请参见 命令行工具MOSutil快速入门。
MOS提供JavaAPI和SDK包, 方便您快速进行二次开发。
MOS的存储空间内部是扁平的,没有文件系统的目录等概念, 所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地 文件夹和磁盘那样来使用MOS存储服务,可以通过配置云存储网关来实现。 通过云存储网关提供的NFS、SMB(CIFS)、iSCSI协议,MOS的存储资源 会以Bucket为基础映射成本地文件夹或者磁盘。 您可以通过文件读写操作访问MOS资源,无缝衔接基于POSIX和块访问协 议的应用,降低应用改造和学习成本。更多信息,请参见配置云存储网关。
您可以通过MOS控制台完成常见的基础操作,例如创建存储空间(Bucket)、上传和下载文件(Object)等。
MOS控制台使用流程图如下所示:
文件上传至目标Bucket后,您可以执行如下操作:
将文件下载至本地。详情请参见
下载文件。
通过生成签名URL的方式将文件分享给第三方,供其下载或预览。详情请参见
分享文件。
通过自定义域名(自有域名)访问文件,需要将自定义域名绑定至文件所在的Bucket。详情请参见
使用自有域名访问MOS资源。
存储空间(Bucket)是用于存储对象(Object)的容器。 在上传任意类型的Object前,您需要先创建Bucket。 本文主要介绍如何通过控制台方式创建Bucket。
已开通MOS服务。详情请参见 开通MOS服务。
1.登录 MOS管理控制台。
2.单击Bucket列表,然后单击创建Bucket。
您也可以单击概览,然后单击右上角的创建Bucket。
3.在创建Bucket面板,按如下说明配置必要参数。其他参数均可保持默认配置,也可以在Bucket创建完成后单独配置
参数 | 描述 |
---|---|
Bucket名称 |
Bucket的名称。Bucket一旦创建,则无法更改其名称。
命名规则如下: Bucket名称必须全局唯一。 只能包括小写字母、数字和短划线(-)。 必须以小写字母或者数字开头和结尾。 长度必须在3~63字节之间。 |
地域 |
Bucket的数据中心。Bucket一旦创建,则无法更改其所在地域。
如需通过MCS内网访问MOS,请选择与MCS相同的地域。更多信息,请参见 MOS访问域名使用规则。 |
同城冗余存储 |
MOS同城冗余存储采用多可用区(AZ)机制,将用户的数据以冗余的方式存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。
启用:开启同城冗余存储,则Bucket内的Object将以同城冗余的方式进行存储。例如,Bucket存储类型为标准存储,则该Bucket内的Object默认为标准存储(同城冗余)。详情请参见 同城冗余存储。
注意
|
4.单击确定。
您可以通过MOS控制台上传不超过5 GB大小的文件。
已创建存储空间(Bucket)。详情请参见 创建存储空间。
1.登录 MOS管理控制台。
2.单击左侧导航栏的Bucket列表,然后单击目标Bucket名称。
3.在文件管理页签,单击上传文件。
4.在上传文件面板,按如下说明配置各项参数。
参数 | 说明 |
---|---|
上传到 |
设置文件上传到MOS后的存储路径。
当前目录:将文件上传到当前目录。 指定目录:将文件上传到指定目录,您需要输入目录名称。若输入的目录不存在,MOS将自动创建对应的文件夹并将文件上传到该文件夹中。 |
文件ACL |
选择文件的读写权限。 继承Bucket:以Bucket读写权限为准。 私有(推荐):只有文件Owner拥有该文件的读写权限,其他用户没有权限操作该文件。 公共读:文件Owner拥有该文件的读写权限,其他用户(包括匿名访问者)都可以对文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。 公共读写:任何用户(包括匿名访问者)都可以对文件进行访问,并且向该文件写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。 有关文件ACL的更多信息,请参见Object ACL。 |
待上传文件 |
选择您需要上传的文件或文件夹。 您可以单击扫描文件或扫描文件夹选择本地文件或文件夹,或者直接拖拽目标文件或文件夹到待上传文件区域。 如果上传文件夹中包含了无需上传的文件,请单击目标文件右侧的移除将其移出文件列表。
注意
|
5.单击上传文件。
此时,您可以在上传列表页签查看各个文件的上传进度。
上传完成后,您可以在目标路径下查看上传文件的文件名、文件大小以及存储类型等信息。
操作 | 实现方式 |
---|---|
上传文件 |
Java SDK |
您可以将已上传的文件下载至浏览器默认路径或者本地指定路径。更多信息,请参见
下载文件。
您可以将文件URL分享给第三方,供其下载或预览。更多信息,请参见
分享文件。
您可以对存储在MOS中的数据进行分析处理。更多信息,请参见
数据处理介绍。
在文件上传到MOS上后,您还可以通过上传回调向指定的应用服务器发起回调请求。更多信息,请参见
上传回调。 GB大小的文件。
当文件(Object)上传至存储空间(Bucket)后, 您可以将文件下载至浏览器默认路径或本地指定路径。本文主要介绍如何通过控制台方式下载文件。
对于归档或者冷归档存储类型的Object,需要确认Object处于“解冻”状态才能对其进行下载。
1.登录 MOS管理控制台。
2.单击左侧导航栏的Bucket列表,然后单击目标Bucket名称。
3.单击左侧导航栏的文件管理,下载单个或多个文件。
下载单个文件
方式一:单击目标文件右侧的更多 > 下载。
方式二:单击目标文件的文件名或其右侧的详情,在弹出的详情面板中单击下载。
下载多个文件
选中多个文件,选择批量操作 > 下载。通过MOS控制台可一次批量下载最多100个文件。
操作 | 实现方式 |
---|---|
下载文件 |
Java SDK |
文件(Object)上传至存储空间(Bucket)后, 您可以将文件URL分享给第三方,供其下载或预览。本文主要介绍如何通过控制台方式分享文件。
1.登录 MOS管理控制台。
2.单击左侧导航栏的Bucket列表,然后单击目标Bucket名称。
3.单击左侧导航栏的文件管理,然后单击目标文件的文件名或其右侧的详情。
4.在详情面板,单击复制文件URL。
如果您要分享私有文件,则在获取文件URL时还需要设置过期时间。默认的过期时间为3600秒(1小时),最大值为32400秒(9小时)。如果您希望获取更长时效的文件URL,请使用命令行工具MOSutil、图形化工具MOSbrowser或MOS
SDK。
通过文件URL预览
将文件URL分享给第三方时,如需确保第三方访问文件时是预览行为,您需要绑定自定义域名并添加CNAME记录。详情请参见使用自有域名访问MOS资源。
通过文件URL下载
将文件URL分享给第三方时,如需确保第三方访问文件时是下载行为,您需要将文件HTTP头中的Content-Disposition字段设置为attachment。详情请参见设置文件HTTP头。
文件(Object)上传至存储空间(Bucket)后,MOS会自动生成文件URL,您可以直接通过文件URL(即Bucket外网访问域名) 访问该文件。若您希望通过自定义域名(自有域名)访问这些文件,需要将自定义域名绑定至文件所在的Bucket。
已完成域名备案,详情请参见备案。
1.绑定自定义域名。
i.登录 MOS管理控制台。
ii.单击Bucket列表,之后单击目标Bucket名称。
iii.单击传输管理 > 域名管理。
iv.单击绑定域名。
v.在绑定域名面板,输入要绑定的域名。
若提示域名冲突,表示该域名已绑定至其他Bucket。此时,
您可以更换域名或通过验证域名所有权强制绑定域名。
验证域名所有权会解除域名与其他Bucket的绑定关系。详情请参见验证域名所有权。
2.添加CNAME记录。
如果添加的域名为当前账号下管理的域名,开启自动添加CNAME记录
a.在绑定域名面板,打开自动添加CNAME记录开关。
注意 若您绑定的域名已配置过CNAME,则自动添加的CNAME记录会覆盖原有的CNAME记录。
b.单击提交。
如果添加的域名为非当前账号下的域名,手动添加CNAME记录。
若您的域名为非摩杜云托管的域名,需在对应的域名解析商处配置云解析,如腾讯云解析(原DNSPod)或新网,详情请参见配置CNAME。
此处以非当前账号下摩杜云托管的域名为例,手动添加CNAME记录步骤如下:
a.登录云解析DNS控制台。
b.在域名解析列表中,单击目标域名右侧的解析设置。
c.单击添加记录,填写域名解析信息。
参数 | 说明 |
---|---|
记录类型 | 选择域名指向的类型。 此处选择CNAME。 |
主机记录 |
根据域名前缀填写主机记录。
如果是顶级域名,例如moduyun.com,输入@。 如果是二级域名,输入二级域名的前缀。例如域名为abc.moduyun.com,输入abc。 如果需要所有的二级域名都指向Bucket外网访问域名,输入*。 |
解析线路 | 解析域名时使用的线路。 建议选择默认,系统将自动选择最佳线路。 |
记录值 | 填写Bucket外网访问域名。Bucket外网访问域名结构为BucketName.Endpoint,例如华东1(杭州)地域创建了名为examplebucket的存储空间, 外网Endpoint为MOS-cn-hangzhou.moduyuncs.com,则填写为examplebucket.MOS-cn-hangzhou.moduyuncs.com。 |
TTL | 域名的更新周期,保留默认值即可。 |
d.单击确定。
新增CNAME记录实时生效,修改CNAME记录最多72小时内生效。
3.通过自有域名访问MOS资源。
绑定自定义域名后,文件URL的格式为https://YourDomainName/ObjectName。
例如您在华东1(杭州)地域下创建了目标存储空间examplebucket,并在examplebucket中存放了exampleobject.jpg的文件,自定义域名为img.example.com,此时您可以使用https://img.example.com/exampleobject.jpg访问目标文件。
本文旨在引导您通过命令行工具MOSutil快速创建目标存储空间(Bucket), 然后将本地文件上传至Bucket。上传完成后,将文件(Object) 下载至本地或者通过生成签名URL的方式将文件分享给第三方,供其下载或预览。
已安装MOSutil。详情请参见 下载和安装。
本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./MOSutil64替换成对应的Binary名称。 例如对于Windows 64位系统,请将./MOSutil64替换成MOSutil64.exe。各系统对应的Binary名称如下。
系统 | Binary名称 |
---|---|
Linux 64位 | ./MOSutil64 |
Linux 32位 | ./MOSutil32 |
Windows 64位 | MOSutil64.exe |
Windows 32位 | MOSutil32.exe |
macOS 64位 | ./MOSutilmac64 |
macOS 32位 | ./MOSutilmac32 |
ARM 64位 | ./MOSutilarm64 |
ARM 32位 | ./MOSutilarm32 |
命令格式
./MOSutil64 mb MOS://bucket
使用示例
创建名为examplebucket的存储空间。
./MOSutil64 mb MOS://examplebucket
以下输出结果表明已成功创建examplebucket。
0.668238(s) elapsed
有关创建Bucket的更多示例,请参见mb(创建存储空间)。
命令格式
./MOSutil64 cp local_file MOS://bucket
使用示例
上传单个文件examplefile.txt至目标存储空间examplebucket。
./MOSutil64 cp examplefile.txt MOS://examplebucket
上传单个文件examplefile.txt至目标存储空间examplebucket,并将文件重命名为exampleobject.txt。
./MOSutil64 cp examplefile.txt MOS://examplebucket/exampleobject.txt
以下输出结果表明文件已成功上传至目标Bucket。
0.720812(s) elapsed
有关上传文件的更多示例,请参见cp(上传文件)。
命令格式
./MOSutil64 cp cloud_url local_file
使用示例
将文件examplefile.txt从目标存储空间examplebucket下载至本地localfolder文件夹下。
./MOSutil64 cp MOS://examplebucket/examplefile.txt localfolder/
将文件examplefile.txt从目标存储空间examplebucket下载至本地localfolder文件夹下,并将文件重命名为exampleobject.txt。
./MOSutil64 cp MOS://examplebucket/examplefile.txt localfolder/exampleobject.txt
以下输出结果表明文件已成功下载至本地目标文件夹。
0.720812(s) elapsed
有关下载文件的更多示例,请参见cp(下载文件)。
命令格式
./MOSutil64 sign cloud_url [--timeout < value>]
使用示例
对目标文件MOS://examplebucket/exampleobject.txt生成超时时间为3600秒的文件签名URL。
./MOSutil64 sign MOS://examplebucket/exampleobject.txt --timeout 3600
以下输出结果表明已成功生成文件签名URL。
https://examplebucket.ss-cn-hangzhou.moduyuncs.com/exampleobject.txt?Expires=1608282224&MOSAccessKeyId=LTAI4G33piUmgRN1DXx9****&Signature=jo4%2FGykfuc1A4fvyvKRpRyymYH**** 0.368676(s) elapsed
有关生成签名URL的更多示例,请参见sign。
MOSbrowser是摩杜云官方提供的MOS图形化管理工具, 提供类似Windows资源管理器的功能。使用MOSbrowser, 您可以快速完成存储空间(Bucket)和文件(Object)的相关操作。
已安装并登录MOSbrowser。具体操作,请参见安装并登录MOSbrowser。
MOSbrowser支持的Bucket或Object级别的操作与控制台支持的操作类似,请按照MOSbrowser界面指引完成Bucket或Object相关操作。
分类 | 配置说明 |
---|---|
Bucket相关操作 |
创建Bucket Bucket是您用于存储Object的容器。 在上传任何文件到MOS之前,您必须先创建存储空间。 有关创建Bucket时如何填写Bucket名称、选择所在地域、ACL权限和存储类型信息,请参见 创建存储空间。 删除Bucket 如果您不再需要Bucket,请将其删除,以免产生额外费用。有关删除Bucket的注意事项,请参见 删除存储空间。 |
Object相关操作 |
MOSbrowser支持上传、下载、预览、移动或复制文件、生成文件URL等操作。操作过程中有如下注意事项:
MOSbrowser默认使用分片上传和断点续传上传文件,上传文件最大不能超过48.8 TB。若您因意外中断了文件上传的过程,且未继续完成该文件的上传,则已上传的部分会以碎片(Part)的形式存储在MOS的存储空间(Bucket)中。若您不再需要这些Part,建议您通过以下方式删除,以免产生额外的存储费用。 手动删除Part的具体操作,请参见删除碎片。 通过生命周期规则自动删除Part的具体操作,请参见设置生命周期规则。 移动或复制文件最大不能超过5 GB,5 GB以上文件的移动或复制操作建议使用MOSutil。 Object各类操作的其他注意事项,请参见控制台用户指南对应文档。 |
本文介绍如何快速使用MOS Java SDK完成常见操作,如创建存储空间(Bucket)、上传文件(Object)、下载文件等。
已安装Java SDK。详情请参见安装。
MOS Java
SDK提供了基于Maven和Ant的示例工程。您可以在本地设备上编译和运行示例工程,或者以示例工程为基础开发您的应用。工程的编译和运行方法,请参见工程目录下的README.md。
Maven示例工程:moduyun-MOS-java-sdk-demo-mvn.zip
Ant示例工程:moduyun-MOS-java-sdk-demo-ant.zip
存储空间是MOS的全局命名空间,相当于数据的容器,可以存储若干文件。 以下代码用于创建存储空间:
存储空间的命名规范详情请参见基本概念中的命名规范。创建存储空间详情请参见创建存储空间。
获取endpoint详情请参见访问域名和数据中心文档。
以下代码用于上传文件至MOS:
上传文件详情请参见 上传文件
以下代码用于下载文件:
下载文件详情请参见 下载文件。
以下代码用于列举指定存储空间下的文件。默认列举100个文件。
列举文件详情请参见 列举文件。
当您完成了创建存储空间(Bucket)、上传和下载文件(Object)等基本操作后,您可以结合自身的业务场景选用MOS提供的一系列常用的高阶功能。
下表汇总了MOS的常用高阶功能:
功能列表 | 说明 |
---|---|
请求者付费模式 | 请求者付费模式是指由请求者支付访问Bucket内数据时产生的费用, 而Bucket拥有者仅支付存储费用。当您希望共享数据, 但又不希望支付因共享数据产生的额外费用时,您可以开启此功能。 |
生命周期 | 生命周期规则(Lifecycle)用于定期将Object转储为低频访问、 归档存储或冷归档存储类型,或将过期的Object和碎片删除,从而节省存储费用。 |
静态网站托管 | 静态网站是指所有的网页都由静态内容构成, 包括客户端执行的脚本(例如JavaScript)。 您可以将您的静态网站托管到MOS的Bucket,并使用Bucket域名访问该网站。 |
静态网站托管 | 静态网站是指所有的网页都由静态内容构成, 包括客户端执行的脚本(例如JavaScript)。 您可以将您的静态网站托管到MOS的Bucket,并使用Bucket域名访问该网站。 |
访问控制 | 针对存放在Bucket中Object的访问,MOS提供了多种权限控制策略。例如基于资源的授权策略Bucket Policy、 基于用户的授权策略RAM Policy、读写权限(ACL)、通过STS临时授权访问MOS以及通过防盗链对访问来源设置白名单。 |
数据加密 |
服务器端加密:上传文件时,MOS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,MOS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。
客户端加密:将文件上传到MOS之前在本地进行加密。 |
跨区域复制 | 跨区域复制(CrMOS-Region Replication)是跨不同MOS数据中心(地域)的Bucket自动、异步(近实时)复制Object,它会将Object的创建 、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。 |
摩杜云对象存储服务(简称MOS),是摩杜云对外提供的海量、安全、低成本、 高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、 任何地点、任何互联网设备上进行上传和下载数据。基于MOS,您可以搭建出各种多媒体分享网站、 网盘、个人和企业数据备份等基于大规模数据的服务。
MOS API参考主要介绍接口的请求语法、相关参数含义以及请求和返回示例。如果要进行快速二次开发, 可以通过以下方式调用对象存储MOS API
您使用的MOS资源和相关功能,都有一定的限制,具体请参见MOS使用限制
请参见 MOS常见错误响应。
本文为您展示了对象存储MOS所有可调用的API接口,详细接口信息请参见对应接口文档。
如果您需要调用API,请在控制台上创建AccessKey。
访问密钥AccessKey(AK)相当于登录密码,只是使用场景不同。AccessKey用于程序方式调用MOS API,而登录密码用于登录控制台。
您可以使用AccessKey构造一个API请求(或者MOS SDK)来操作资源。
访问密钥AccessKey(AK)相当于登录密码,只是使用场景不同。AccessKey用于程序方式调用云服务API, 而登录密码用于登录控制台。如果您不需要调用API,那么就不需要创建AccessKey。
1、背景信息
您可以使用AccessKey构造一个API请求(或者使MOS SDK)来操作资源。AccessKey包括AccessKey ID和AccessKey
Secret。
a) AccessKey ID用于标识用户。
b) AccessKey Secret是用来验证用户的密钥。AccessKey Secret必须保密。
2、操作步骤
a) 登录MOS管理控制台。。
b) 点击概览页右上角的AccessKey按钮进入AccessKey列表页。
c) 单击创建AccessKey。
说明:首次创建时需填写手机验证码。
d) 单击关闭。
说明:
- AccessKey Secret只在创建时显示,不提供查询,请妥善保管。
- 如果AccessKey泄露或丢失,则需要创建新的AccessKey。
MOS统一使用以下公网服务地址(Endpoint):
功能 | 域名 |
---|---|
发送地址 | https://mpi.moduyun.com |
地区 | 值 |
---|---|
华东1(杭州) | cn-hangzhou |
华东2(上海) | cn-shanghai |
华北1(青岛) | cn-qingdao |
华北2(北京) | cn-beijing |
华北3(张家口) | cn-zhangjiakou |
华北5(呼和浩特) | cn-huhehaote |
华北6(乌兰察布) | cn-wulanchabu |
"华南1(深圳)", | "cn-shenzhen", |
"华南2(河源)", | "cn-heyuan", |
"华南3(广州)", | "cn-guangzhou", |
"西南1(成都)", | "cn-chengdu", |
"中国(香港)", | "cn-hongkong", |
"新加坡", | "ap-southeast-1", |
"澳大利亚(悉尼)", | "ap-southeast-2", |
"马来西亚(吉隆坡)", | "ap-southeast-3", |
"印度尼西亚(雅加达)", | "ap-southeast-5", |
"日本(东京)", | "ap-northeast-1", |
"印度(孟买)", | "ap-south-1", |
"德国(法兰克福)", | "eu-central-1", |
"英国(伦敦)", | "eu-west-1", |
"美国(硅谷)", | "us-west-1", |
"美国(弗吉尼亚)", | "us-east-1", |
"阿联酋(迪拜)", | "me-east-1", |
使用UploadFolder类创建文件夹
唯一请求地址:
https://mpi.moduyun.com/bucket/createFolder
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
accessKeyId | String | 是 | 效验身份的Key |
sig | String | 是 | 签名(secretKey+timeRub)MD5加密 |
timeRub | String | 是 | 当前时间戳(毫秒) |
region | String | 是 | 地域 |
bucketName | String | 是 | bucket名称 |
fileName | String | 是 | 完整路径 |
callbackUrl | String | 否 | 回调地址 |
描述:使用上传回调功能可以更加方便的知道文件的上传状态,不管文件是否上传成功 ,回调会返回上传成功和错误的信息(注:上传的回调时长最多为30秒,否则程序会强制中断),回调返回的信息如下:
名称 | 类型 | 描述 |
---|---|---|
region | String | 上传资源的地域ID |
bucketName | String | 上传资源的mos实例名称 |
fileName | String | 上传资源的完整路径 |
callbackId | String | 上传资源的上传ID |
callbackState | String | 上传资源的状态((成功:success)) |
callbackMsg | String | 上传资源的错误信息 |
fileUrl | String | 上传资源的文件的下载地址 |
fileSize | String | 上传文件的大小 |
versionId | String | 版本号 |
callbackParameter | String | 自定义回调参数 |
注意:简单上传的单个文件大小不能超个60MB,当超个60M,系统会自动使用分片上传
使用UploadFile类创建文件
唯一请求地址:
https://mpi.moduyun.com/bucket/simpleUploadFile
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
accessKeyId | String | 是 | 效验身份的Key |
sig | String | 是 | 签名(secretKey+timeRub)MD5加密 |
timeRub | String | 是 | 当前时间戳(毫秒) |
region | String | 是 | 地域 |
bucketName | String | 是 | bucket名称 |
fileName | String | 是 | 完整路径+文件名+后缀名 |
file | File | 是 | 文件流 |
storageClass | String | 否 | 文件的存储类型 |
jurisdiction | String | 否 | 文件的权限 |
sseAlgorithm | String | 否 | 文件加密方式 |
metaData | String | 否 | 自定义元数据(key-value格式,可以需要x-mos-meta-开头) |
callbackUrl | String | 否 | 回调地址 |
分片上传文件
注意:当文件比较大时,可以使用分片上传,同时上传的速度会有所增长,所有在分片上传的过程中,请勿断开连接,否则会导致分片上传不成功
唯一请求地址:
https://mpi.moduyun.com/bucket/simpleUploadFile
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
accessKeyId | String | 是 | 效验身份的Key |
sig | String | 是 | 签名(secretKey+timeRub)MD5加密 |
timeRub | String | 是 | 当前时间戳(毫秒) |
region | String | 是 | 地域 |
bucketName | String | 是 | bucket名称 |
fileName | String | 是 | 完整路径+文件名+后缀名 |
file | File | 是 | 文件流 |
jurisdiction | String | 否 | 文件的权限 |
callbackUrl | String | 否 | 回调地址 |
uploadId | String | 是 | 分片全局ID |
partNumber | String | 是 | 当前分片号(从1开始) |
partSize | String | 是 | 当前分片大小(字节) |
partCount | String | 是 | 总分片数量 |
callbackParameter | String | 否 | 自定义回调参数 |
响应消息:
名称 | 类型 | 描述 |
---|---|---|
data | String | 上传的唯一id |
msg | String | 错误信息,成功为:success |
code | String | 返回的状态码 |
注意:分片全局ID,用于分片上传文件的唯一凭证,请勿随意写入,否则会导致分片上传文件失败
唯一请求地址:
https://mpi.moduyun.com/bucket/getUploadId
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
accessKeyId | String | 是 | 效验身份的Key |
sig | String | 是 | 签名(secretKey+timeRub)MD5加密 |
timeRub | String | 是 | 当前时间戳(毫秒) |
storageClass | String | 否 | 文件的存储类型 |
sseAlgorithm | String | 否 | 文件加密方式 |
doLoadName | String | 否 | 下载时的名称 |
code | String | 否 | 下载时的编码 |
expires | String | 否 | 过期时间 |
region | String | 是 | 地域 |
bucketName | String | 是 | bucket名称 |
fileName | String | 是 | 完整路径+文件名+后缀名 |
调用API接口失败时,会返回接口调用错误码。
常见接口调用错误码、错误信息和解决方案,请参见下表:
错误码(Code) | 错误信息(Message) | 描述 |
---|---|---|
30001 | File stream does not exist | 文件流不存在 |
30002 | The file stream is too large, please upload in pieces | 文件流太大,请分片上传 |
50000 | System abnormal, please contact customer service | 系统异常,请联系客服 |
30014 | AccessKey does not exist | AccessKey不存在 |
30008 | AccessKey timeout | AccessKey超时 |
30003 | AccessKey is disabled | AccessKey禁用 |
30013 | bucketName does not exist | bucket不存在 |
30004 | fileName cannot be null | 完整路径不能为空 |
30004 | The storageclass type was not found | 找不到storageclass的类型 |
30004 | The jurisdiction type was not found | 找不到jurisdiction的类型 |
30004 | The sseAlgorithm type was not found | 找不到sseAlgorithm的类型 |
30004 | The custom parameters are not standard | 自定义回调参数不规范 |
下载文件的统一地址
公共文件下载地址:
https://mpi.moduyun.com/bucket/downLoadFile?region=xx-xxxxxx&bucketName=xxx&fileName=xxx.xx&versionId=xxx
私有文件下载地址:
https://mpi.moduyun.com/bucket/downLoadFile?region=xx-xxxxxx&bucketName=xxx&fileName=xxx.xx&versionId=xxx&accessKeyId=xxx&timeRub=xxx&sig=xxx
参数说明
accessKeyId:accessKey需要通过base64加密
timeRub:当前的时间搓
Sig:(secretkey+timeRub)需要通过md5加密:
注意 可以通过sdk获取对应的下载地址
调用API接口失败时,会返回接口调用错误码。
常见接口调用错误码、错误信息和解决方案,请参见下表:
错误码(Code) | 错误信息(Message) | 描述 |
---|---|---|
403 | fileName format error | 文件路径格式错误 |
403 | region format error | 地域格式错误 |
403 | bucketName format error | mos实例格式错误 |
404 | bucketName does not exist | mos实例不存在 |
404 | fileName does not exist | 文件路径不存在 |
403 | private files,sig format error | 私有文件,签名格式错误 |
403 | private files,timeRub format error | 私有文件,timeRub格式错误 |
404 | private files,accessKey does not exist | 私有文件,accessKey不存在 |
403 | private files,link timeout,please get it again | 私有文件,连接超时,请重新获取 |
403 | private files,sig error | 私有文件,签名错误 |
403 | private files,accessKey state disable | 私有文件,key状态禁用 |
404 | private files,bucketName does not exist | 私有文件,mos实例不存在 |
406 | the file hasn't thawed yet | 文件还没有解冻 |
406 | the file is thawing | 文件正在解冻 |
目前,MOS提供以下编程语言的SDK。
SDK | DEMO |
---|---|
Java SDK | Java SDK DEMO |
本文列出您在使用摩杜云对象存储MOS前需要了解的内容。
如果您初次使用摩杜云MOS,请参见摩杜云MOS快速入门系列文档,帮助您了解MOS并快速使用MOS。
如果您已经充分了解MOS,您也可以通过下列资源快速使用MOS的其他各项功能:
资源 | 描述 |
---|---|
摩杜云MOS开发人员指南 | 本文档为您讲解摩杜云MOS服务的核心概念、所有功能介绍与操作方式,以及如何使用API和SDK的有效示例。 |
摩杜云MOS最佳实践 | 详细介绍摩杜云MOS的各种使用场景与配置实践。 |
摩杜云MOS SDK参考 | 介绍主流语言的SDK开发操作和参数。 |
摩杜云MOS API参考 | 详细探讨了摩杜云MOS支持的RESTful API操作和相关的示例。 |
摩杜云MOS官方工具 | 介绍摩杜云官方提供的各种便捷工具,帮助您更高效的管理MOS资源。 |
摩杜云MOS控制台用户指南 | 摩杜云MOS控制台可让您通过界面执行MOS的部分功能。本文档为您介绍基于摩杜云MOS控制台的所有操作。 |
摩杜云MOS图片处理指南 | 详细探讨了摩杜云MOS提供的图片处理服务的详细内容与操作方式。 |
本文将向您介绍对象存储MOS产品中涉及的几个基本概念,以便于您更好地理解MOS产品。
存储空间是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。 存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。
每个用户可以拥有多个存储空间。
存储空间的名称在MOS范围内必须是全局唯一的,一旦创建之后无法修改名称。
存储空间内部的对象数目没有限制。
存储空间的命名规范如下:
只能包括小写字母、数字和短划线(-)。
必须以小写字母或者数字开头和结尾。
长度必须在3~63字节之间。
对象是MOS存储数据的基本单元,也被称为MOS的文件。 和传统的文件系统不同,对象没有文件目录层级结构的关系。 对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成, 并且由存储空间内部唯一的Key来标识。 对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间、 大小等信息,同时用户也可以在元信息中存储一些自定义的信息。
对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除通过追加方式上传的Object可以
通过继续追加上传写入数据外,其他方式上传的Object内容无法编辑,您可以通过重复上传同名的对象来覆盖之前的对象。
对象的命名规范如下:
使用UTF-8编码。
长度必须在1~1023字节之间。
不能以正斜线(/)或者反斜线(\)开头。
说明 对象名称需要区分大小写。如无特殊说明,本文档中的对象、文件称谓等同于Object。
在各语言SDK中,ObjectKey、Key以及ObjectName是同一概念, 均表示对Object执行相关操作时需要填写的Object名称。例如向某一存储空间上传Object时, ObjectKey表示上传的Object所在存储空间的完整名称, 即包含文件后缀在内的完整路径,如填写为abc/efg/123.jpg。
Region表示MOS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说,距离用户更近的Region访问速度更快。详情请参见MOS已经开通的Region。
Region是在创建Bucket的时候指定的,一旦指定之后就不允许更改。该Bucket下所有的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。
Endpoint表示MOS对外服务的访问域名。MOS以HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。通过内网和外网访问同一个Region所需要的Endpoint也是不同的。例如杭州Region的外网Endpoint是MOS-cn-hangzhou.moduyuncs.com,内 网Endpoint是MOS-cn-hangzhou-internal.moduyuncs.com。具体的内容请参见各个Region对应的Endpoint。
AccessKey简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。MOS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户;AccessKeySecret是用户用于加密签名字符串和MOS用来验证签名字符串的密钥,必须保密。对于MOS来说,AccessKey的来源有:
Bucket的拥有者申请的AccessKey。
被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。
被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。
更多AccessKey介绍请参见创建AccessKey。
Object操作在MOS上具有原子性,操作要么成功要么失败,不会存在有中间状态的Object。MOS保证用户一旦上传完成之后读到的Object是完整的,MOS不会返回给用户一个部分上传成功的Object。
Object操作在MOS同样具有强一致性,用户一旦收到了一个上传(PUT)成功的响应,该上传的Object就已经立即可读,并且Object的冗余数据已经写成功。不存在一种上传的中间状态,即read-after-write却无法读取到数据。对于删除操作也是一样的,用户删除指定的Object成功之后,该Object立即变为不存在。
MOS使用基于纠删码、多副本的数据冗余存储机制,将每个对象的不同冗余存储在同一个区域内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
MOS Object操作具有强一致性,用户一旦收到了上传或复制成功的响应,则该上传的Object就已经立即可读,且数据已经冗余写入到多个设备中。
MOS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。
MOS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。
当数据存入MOS后,MOS会检测和修复丢失的冗余,确保数据持久性和可用性。
MOS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,MOS会利用冗余的数据,进行重建并修复损坏数据。
对比项 | MOS | 文件系统 |
---|---|---|
数据模型 | MOS是一个分布式的对象存储服务,提供的是一个Key-Value对形式的对象存储服务。 | 文件系统是一种典型的树状索引结构。 |
数据获取 | 根据Object的名称(Key)唯一的获取该Object的内容。 虽然用户可以使用类似test1/test.jpg的名字,但是这并不表示用户的Object是保存在test1目录下面的。对于MOS来说, test1/test.jpg仅仅只是一个字符串,和a.jpg这种并没有本质的区别。因此不同名称的Object之间的访问消耗的资源是类似的。 | 一个名为test1/test.jpg的文件, 访问过程需要先访问到test1这个目录,然后再在该目录下查找名为test.jpg的文件。 |
优势 | 支持海量的用户并发访问。 | 支持文件的修改,比如修改指定偏移位置的内容、 截断文件尾部等。也支持文件夹的操作,比如重命名目录、删除目录、移动目录等非常容易。 |
劣势 | MOS保存的Object不支持修改(追加写Object需要调用特定的接口,生成的Object也和正常上传的Object类型上有差别)。用户哪怕是仅仅需要修改一个字节也需要重新上传整个Object。 MOS可以通过一些操作来模拟类似文件夹的功能,但是代价非常昂贵。比如重命名目录,希望将test1目录重命名成test2,那么MOS的实际操作是将所有以test1/开头的Object都重新复制成以test2/开头的Object,这是一个非常消耗资源的操作。因此在使用MOS的时候要尽量避免类似的操作。 | 受限于单个设备的性能。访问越深的目录消耗的资源也越大,操作拥有很多文件的目录也会非常慢。 |
因此,将MOS映射为文件系统是非常低效的,也是不建议的做法。如果一定要挂载成文件系统的话,建议尽量只做写新文件、删除文件、读取文件这几种操作。使用MOS应该充分发挥其优点,即海量数据处理能力,优先用来存储海量的非结构化数据,比如图片、视频、文档等。
以下是MOS与文件系统的概念对比:
对象存储 MOS | 文件系统 |
---|---|
Object | 文件 |
Bucket | 主目录 |
Region | 无 |
Endpoint | 无 |
AccessKey | 无 |
无 | 多级目录 |
GetService | 获取主目录列表 |
GetBucket | 获取文件列表 |
PutObject | 写文件 |
AppendObject | 追加写文件 |
GetObject | 读文件 |
DeleteObject | 删除文件 |
无 | 修改文件内容 |
CopyObject (目的和源相同) | 修改文件属性 |
CopyObject | 复制文件 |
无 | 重命名文件 |
英文 | 中文 |
---|---|
Bucket | 存储空间 |
Object | 对象或者文件 |
Endpoint | MOS 访问域名 |
Region | 地域或者数据中心 |
AccessKey | AccessKeyId和AccessKeySecret的统称,访问密钥 |
Put Object | 简单上传 |
Post Object | 表单上传 |
Multipart Upload | 分片上传 |
Append Object | 追加上传 |
Get Object | 简单下载 |
Callback | 回调 |
Object Meta | 文件元信息。用来描述文件信息,例如长度,类型等 |
Data | 文件数据 |
Key | 文件名 |
ACL (Access Control List) | 存储空间或者文件的权限 |
说明 如果没有特殊说明,本文中出现和术语表中相同的英文和中文,表达的是相同的意思。有时候为了表述方便会混合使用。
Region表示MOS的数据中心所在的地域, Endpoint表示MOS对外服务的访问域名。本文主要介绍Region与Endpoint的对应关系。
公共云下MOS各地域Endpoint如下:
Region | Region ID | 是否支持IPv6 | 外网Endpoint | 内网Endpoint① |
---|---|---|---|---|
华东1(杭州) | MOS-cn-hangzhou | 是 | MOS-cn-hangzhou.moduyuncs.com | MOS-cn-hangzhou-internal.moduyuncs.com |
华东2(上海) | MOS-cn-shanghai | 是 | MOS-cn-shanghai.moduyuncs.com | MOS-cn-shanghai-internal.moduyuncs.com |
华北1(青岛) | MOS-cn-qingdao | 否 | MOS-cn-qingdao.moduyuncs.com | MOS-cn-qingdao-internal.moduyuncs.com |
华北2(北京) | MOS-cn-beijing | 是 | MOS-cn-beijing.moduyuncs.com | MOS-cn-beijing-internal.moduyuncs.com |
华北 3(张家口) | MOS-cn-zhangjiakou | 否 | MOS-cn-zhangjiakou.moduyuncs.com | MOS-cn-zhangjiakou-internal.moduyuncs.com |
华北5(呼和浩特) | MOS-cn-huhehaote | 是 | MOS-cn-huhehaote.moduyuncs.com | MOS-cn-huhehaote-internal.moduyuncs.com |
华北6(乌兰察布) | MOS-cn-wulanchabu | 否 | MOS-cn-wulanchabu.moduyuncs.com | MOS-cn-wulanchabu-internal.moduyuncs.com |
华南1(深圳) | MOS-cn-shenzhen | 是 | MOS-cn-shenzhen.moduyuncs.com | MOS-cn-shenzhen-internal.moduyuncs.com |
华南2(河源) | MOS-cn-heyuan | 否 | MOS-cn-heyuan.moduyuncs.com | MOS-cn-heyuan-internal.moduyuncs.com |
华南3(广州) | MOS-cn-guangzhou | 否 | MOS-cn-guangzhou.moduyuncs.com | MOS-cn-guangzhou-internal.moduyuncs.com |
西南1(成都) | MOS-cn-chengdu | 否 | MOS-cn-chengdu.moduyuncs.com | MOS-cn-chengdu-internal.moduyuncs.com |
中国(香港) | MOS-cn-hongkong | 是 | MOS-cn-hongkong.moduyuncs.com | MOS-cn-hongkong-internal.moduyuncs.com |
美国西部1(硅谷) | MOS-us-west-1 | 否 | MOS-us-west-1.moduyuncs.com | MOS-us-west-1-internal.moduyuncs.com |
美国东部1(弗吉尼亚) | MOS-us-east-1 | 否 | MOS-us-east-1.moduyuncs.com | MOS-us-east-1-internal.moduyuncs.com |
亚太东南1(新加坡) | MOS-ap-southeast-1 | 否 | MOS-ap-southeast-1.moduyuncs.com | MOS-ap-southeast-1-internal.moduyuncs.com |
亚太东南2(悉尼) | MOS-ap-southeast-2 | 否 | MOS-ap-southeast-2.moduyuncs.com | MOS-ap-southeast-2-internal.moduyuncs.com |
亚太东南3(吉隆坡) | MOS-ap-southeast-3 | 否 | MOS-ap-southeast-3.moduyuncs.com | MOS-ap-southeast-3-internal.moduyuncs.com |
亚太东南5(雅加达) | MOS-ap-southeast-5 | 否 | MOS-ap-southeast-5.moduyuncs.com | MOS-ap-southeast-5-internal.moduyuncs.com |
亚太东北1(日本) | MOS-ap-northeast-1 | 否 | MOS-ap-northeast-1.moduyuncs.com | MOS-ap-northeast-1-internal.moduyuncs.com |
亚太南部1(孟买) | MOS-ap-south-1 | 否 | MOS-ap-south-1.moduyuncs.com | MOS-ap-south-1-internal.moduyuncs.com |
欧洲中部1(法兰克福) | MOS-eu-central-1 | 否 | MOS-eu-central-1.moduyuncs.com | MOS-eu-central-1-internal.moduyuncs.com |
英国(伦敦) | MOS-eu-west-1 | 否 | MOS-eu-west-1.moduyuncs.com | MOS-eu-west-1-internal.moduyuncs.com |
中东东部1(迪拜) | MOS-me-east-1 | 否 | MOS-me-east-1.moduyuncs.com | MOS-me-east-1-internal.moduyuncs.com |
说明
①与MOS同地域的摩杜云产品可以通过内网Endpoint访问MOS。
对于支持IPv6协议的地域,当您使用IPv6地址访问外网Endpoint时,DNS服务器会自动解析对应地域的IPv6地址。
MOS.moduyuncs.com默认指向华东1(杭州)地域外网地址;MOS-internal.moduyuncs.com默认指向华东1(杭州)地域内网地址。
关于MOS域名的构成规则及使用方式,请参见MOS访问域名使用规则。
如果您是MCS用户,建议使用内网地址访问同地域的MOS。访问方式,请参见MCS实例通过MOS内网地址访问MOS资源。
若Bucket开启传输加速功能,会增加如下传输加速Endpoint:
全球加速Endpoint:地址为MOS-accelerate.moduyuncs.com。传输加速接入点分布在全球各地,全球各地的Bucket均可以使用该域名进行传输加速。
非中国内地加速Endpoint:地址为MOS-accelerate-overseas.moduyuncs.com。传输加速接入点分布在除中国内地以外的各地域,仅在中国香港及海外各地域Bucket绑定未备案的域名做CNAME指向时使用。
更多信息,请参见传输加速。
金融云下MOS各地域的Endpoint如下:
Region | Region ID | 是否支持IPv6 | 外网Endpoint | 内网Endpoint |
---|---|---|---|---|
华东1金融云 | MOS-cn-hzjbp | 否 | 无 |
MOS-cn-hzjbp-a-internal.moduyuncs.com
MOS-cn-hzjbp-b-internal.moduyuncs.com |
华东2金融云 | MOS-cn-shanghai-finance-1 | 否 | 无 | MOS-cn-shanghai-finance-1-internal.moduyuncs.com |
华南1金融云 | MOS-cn-shenzhen-finance-1 | 否 | 无 | MOS-cn-shenzhen-finance-1-internal.moduyuncs.com |
杭州金融云公网 | MOS-cn-hzfinance | 是 | MOS-cn-hzfinance.moduyuncs.com | MOS-cn-hzfinance-internal.moduyuncs.com |
上海金融云公网 | MOS-cn-shanghai-finance-1-pub | 否 | MOS-cn-shanghai-finance-1-pub.moduyuncs.com | MOS-cn-shanghai-finance-1-pub-internal.moduyuncs.com |
深圳金融云公网 | MOS-cn-szfinance | 是 | MOS-cn-szfinance.moduyuncs.com | MOS-cn-szfinance-internal.moduyuncs.com |
MOS会为每一个存储空间(Bucket)分配默认的访问域名,本文介绍MOS访问域名的构成规则及使用方式。
针对MOS的网络请求,除了GetService这个API以外,其他所有请求的域名都是由带有指定Bucket信息的三级域名组成的。
访问域名结构:BucketName.Endpoint。BucketName为您的存储空间名称,Endpoint为存储空间对应的地域域名。
Endpoint分内网、外网访问域名以及传输加速域名。例如华东1(杭州)地域的访问域名如下:
外网Endpoint:https://MOS-cn-hangzhou.moduyuncs.com
内网Endpoint:https://MOS-cn-hangzhou-internal.moduyuncs.com
传输加速全球加速Endpoint:https://MOS-accelerate.moduyuncs.com。
传输加速非中国内地加速Endpoint:https://MOS-accelerate-overseas.moduyuncs.com
内网、外网访问域名可直接使用,无需额外配置,而传输加速域名使用前需先开启Bucket的传输加速功能。详情请参见
设置传输加速。
说明
MOS以HTTP RESTful API的形式对外提供服务,当访问不同的地域(Region)时,需要不同的访问域名。
Region和Endpoint对照表请参见访问域名和数据中心。
您也可以通过绑定自定义域名或绑定传输加速域名,将MOS的外网访问域名替换为您的自有域名。
外网指的是互联网。通过外网访问产生的流入流量(写)是免费的,流出流量(读)是收费的。
说明 MOS费用详情请参见MOS产品定价和计量项和计费项。
外网访问MOS有如下两种方式:
访问方式一:访问时以URL的形式来表示MOS的资源。MOS的URL构成如下:
< Schema>://< Bucket>.< 外网Endpoint>/< Object>
Schema:HTTP或者为HTTPS。
Bucket:MOS存储空间名称。
外网Endpoint:Bucket所在数据中心供外网访问的Endpoint,
各地域Endpoint详情请参见访问域名和数据中心。
Object:上传到MOS上的文件的访问路径。
示例:如果您的Region为华东1(杭州),Bucket名称为examplebucket,
Object访问路径为example/example.txt,那么您的外网访问地址为https://examplebucket.MOS-cn-hangzhou.moduyuncs.com/example/example.txt。
注意
此域名仅当文件支持匿名访问时使用,若文件为私有,则还需要增加签名信息。
MOS访问域名需携带Object访问路径才可以被访问,若仅访问域名,例如examplebucket.MOS-cn-hangzhou.moduyuncs.com,
会有报错提示。若您希望直接访问MOS访问域名,可以通过静态网站托管来实现。
您还可以直接将Object的URL放入HTML中使用,如下所示:
< img class="img-responsive"src="https://examplebucket.MOS-cn-hangzhou.moduyuncs.com/example/example.png" />
访问方式二: 通过MOS SDK配置外网访问域名。
MOS SDK会对您的每一个操作拼接访问域名。但您在对不同地域的Bucket进行操作的时候需要设置不同的Endpoint。
以Java SDK为例,对华东1的Bucket进行操作时,需要在对类实例化时设置Endpoint:
String accessKeyId = "< key>";
String accessKeySecret = "< secret>";
String endpoint = "MOS-cn-hangzhou.moduyuncs.com";
MOSClient client = new MOSClient(endpoint, accessKeyId, accessKeySecret);
内网指的是摩杜云同地域产品之间的内部通信网络, 例如您通过MCS云服务器访问同地域的MOS服务。 内网产生的流入和流出流量均免费,但是请求次数仍会计费。
说明 MOS费用详情请参见MOS服务价格页和计量项和计费项。
内网访问MOS有如下两种方式:
访问方式一:在访问的时候以URL的形式来表示MOS的资源。MOS的URL构成如下。
< Schema>://< Bucket>.< 内网Endpoint>/< Object>
Schema:HTTP或者为HTTPS。
Bucket:MOS存储空间名称。
内网Endpoint:Bucket所在数据中心供同地域MCS访问的内网Endpoint,各地域Endpoint详情请参见访问域名和数据中心。
Object:上传到MOS上的文件的访问路径。
示例:如您的Bucket名称为examplebucket,Region为华东1(杭州),Object名称为example/example.txt,那么您的内网访问地址为https://examplebucket.MOS-cn-hangzhou-internal.moduyuncs.com/example/example.txt。
访问方式二:通过MCS使用MOS SDK配置内网Endpoint。
以Java SDK为例,对华东1地域的Bucket进行操作时,需要将endpoint设置为华东1地域的内网Endpoint。
String accessKeyId = "< key>";
String accessKeySecret = "< secret>";
String endpoint = "MOS-cn-hangzhou-internal.moduyuncs.com";
MOSClient client = new MOSClient(endpoint, accessKeyId, accessKeySecret);
同一个Region的MCS和MOS之间内网互通,不同Region的MCS和MOS之间内网不互通。例如您的MOS有两个Bucket,并且购买了华北2(北京)的MCS:
其中一个Bucket名称为beijingres,Region为华北2(北京),那么在华北2的MCS中可以使用https://beijingres.MOS-cn-beijing-internal.moduyuncs.com来访问beijingres的资源。
另外一个Bucket名称为qingdaores,Region为华北1(青岛),那么在华北2的MCS用内网地址https://qingdaores.MOS-cn-qingdao-internal.moduyuncs.com是无法访问MOS的,必须使用外网地址https://qingdaores.MOS-cn-qingdao.moduyuncs.com。
MOS传输加速支持数据上传、下载加速,可优化跨国、跨洋数据上传、下载体验。使用传输加速域名前,需先开启传输加速功能。开启后,您只需将外网Endpoint替换为传输加速Endpoint,即可实现数据传输加速。
以全球加速Endpoint为例,通过浏览器访问位于杭州的存储空间test根目录下公共读文件myphoto.jpg时:
不使用传输加速时的文件URL:https://test.MOS-cn-hangzhou.moduyuncs.com/myphoto.jpg。
使用传输加速时的文件URL:https://test.MOS-accelerate.moduyuncs.com/myphoto.jpg。
更多关于传输加速功能的介绍请参见传输加速。
IPv6是互联网工程任务组IETF(Internet Engineering Task
Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,它可以让地球上的每一粒沙子都拥有地址。目前MOS已支持通过IPv6、IPv4双栈域名访问。
您的IPv6、IPv4客户端均可以使用MOS提供的统一双栈域名访问您的存储空间。您的DNS服务器将按照您使用的协议版本解析对应协议的MOS服务器地址给您。例如杭州地域的Endpoint为:cn-hangzhou.osmoduyuncs.com,若您的Bucket名称为myiotdata,则IPv6、IPv4客户端都可通过https://myiotdata.cn-hangzhou.MOS.moduyuncs.com访问。
目前可以通过IPv6协议访问的Endpoint如下:
华北2(北京):https://cn-beijing.MOS.moduyuncs.com
华东2(上海):https://cn-shanghai.MOS.moduyuncs.com
华东1(杭州):https://cn-hangzhou.MOS.moduyuncs.com
华南1(深圳):https://cn-shenzhen.MOS.moduyuncs.com
中国香港:https://cn-hongkong.MOS.moduyuncs.com
华北5(呼和浩特):https://cn-huhehaote.MOS.moduyuncs.com
云下机房设备或异地MCS实例希望通过内网访问MOS时, 可通过CEN、高速通道、专线、VPN等连接MOS所在地域内网网络, 并配置指向MOS内网网段的路由。本文列出MOS各地域的内网网段。
警告
MOS为每个Region内网VIP网段划分了固定地址段,您按Region配置路由时必须按照下表地址配置完整的路由,否则可能会造成网络不通。
使用MCS实例通过内网访问MOS时,安全组中不能禁止以下任一VIP网段。
Region | Region ID | VPC网络Endpoint | VIP网段 |
---|---|---|---|
华东1(杭州) | MOS-cn-hangzhou | MOS-cn-hangzhou-internal.moduyuncs.com |
100.118.28.0/24 100.114.102.0/24 100.98.170.0/24 100.118.31.0/24 |
华东2(上海) | MOS-cn-shanghai | MOS-cn-shanghai-internal.moduyuncs.com |
100.98.35.0/24 100.98.110.0/24 100.98.169.0/24 100.118.102.0/24 |
华北1(青岛) | MOS-cn-qingdao | MOS-cn-qingdao-internal.moduyuncs.com |
100.115.173.0/24 100.99.113.0/24 100.99.114.0/24 100.99.115.0/24 |
华北2(北京) | MOS-cn-beijing | MOS-cn-beijing-internal.moduyuncs.com |
100.118.58.0/24 100.118.167.0/24 100.118.170.0/24 100.118.171.0/24 100.118.172.0/24 100.118.173.0/24 |
华北 3(张家口) | MOS-cn-zhangjiakou | MOS-cn-zhangjiakou-internal.moduyuncs.com |
100.118.90.0/24 100.98.159.0/24 100.114.0.0/24 100.114.1.0/24 |
华北5(呼和浩特) | MOS-cn-huhehaote | MOS-cn-huhehaote-internal.moduyuncs.com |
100.118.195.0/24 100.99.110.0/24 100.99.111.0/24 100.99.112.0/24 |
华北6(乌兰察布) | MOS-cn-wulanchabu | MOS-cn-wulanchabu-internal.moduyuncs.com |
100.114.11.0/24 100.114.12.0/24 100.114.100/24 100.118.214.0/24 |
华南1(深圳) | MOS-cn-shenzhen | MOS-cn-shenzhen-internal.moduyuncs.com |
100.118.78.0/24 100.118.203.0/24 100.118.204.0/24 100.118.217.0/24 |
华南2(河源) | MOS-cn-heyuan | MOS-cn-heyuan-internal.moduyuncs.com |
100.98.83.0/24 100.118.174.0/24 |
华南3(广州) | MOS-cn-guangzhou | MOS-cn-guangzhou-internal.moduyuncs.com |
100.115.33.0/24 100.114.101.0/24 |
西南1(成都) | MOS-cn-chengdu | MOS-cn-chengdu-internal.moduyuncs.com |
100.115.155.0/24 100.99.107.0/24 100.99.108.0/24 100.99.109.0/24 |
中国(香港) | MOS-cn-hongkong | MOS-cn-hongkong-internal.moduyuncs.com |
100.115.61.0/24 100.99.103.0/24 100.99.104.0/24 100.99.106.0/24 |
美国西部1(硅谷) | MOS-us-west-1 | MOS-us-west-1-internal.moduyuncs.com | 联系摩杜云客服咨询 |
美国东部1(弗吉尼亚) | MOS-us-east-1 | MOS-us-east-1-internal.moduyuncs.com |
100.115.60.0/24 100.99.100.0/24 100.99.101.0/24 100.99.102.0/24 |
亚太东南1(新加坡) | MOS-ap-southeast-1 | MOS-ap-southeast-1-internal.moduyuncs.com |
100.118.219.0/24 100.99.213.0/24 100.99.116.0/24 100.99.117.0/24 |
亚太东南2(悉尼) | MOS-ap-southeast-2 | MOS-ap-southeast-2-internal.moduyuncs.com | 联系摩杜云客服咨询 |
亚太东南3(吉隆坡) | MOS-ap-southeast-3 | MOS-ap-southeast-3-internal.moduyuncs.com |
100.118.165.0/24 100.99.125.0/24 100.99.130.0/24 100.99.131.0/24 |
亚太东南5(雅加达) | MOS-ap-southeast-5 | MOS-ap-southeast-5-internal.moduyuncs.com | 联系摩杜云客服咨询 |
亚太东北1(日本) | MOS-ap-northeast-1 | MOS-ap-northeast-1-internal.moduyuncs.com | 联系摩杜云客服咨询 |
亚太南部1(孟买) | MOS-ap-south-1 | MOS-ap-south-1-internal.moduyuncs.com |
100.118.211.0/24 100.99.122.0/24 100.99.123.0/24 100.99.124.0/24 |
欧洲中部1(法兰克福) | MOS-eu-central-1 | MOS-eu-central-1-internal.moduyuncs.com | 联系摩杜云客服咨询 |
英国(伦敦) | MOS-eu-west-1 | MOS-eu-west-1-internal.moduyuncs.com | 联系摩杜云客服咨询 |
中东东部1(迪拜) | MOS-me-east-1 | MOS-me-east-1-internal.moduyuncs.com | 联系摩杜云客服咨询 |
当您通过MOS内网地址访问MOS资源时,不收取流量费用。本文介绍MCS实例如何通过MOS内网地址访问MOS资源。
通过MOS内网地址访问MOS资源有以下两种方式:
与MOS同地域MCS实例可以直接通过内网访问有权限的MOS资源。
与MOS不同地域的MCS实例或公网用户可通过配置MCS反向代理,间接实现通过MOS内网地址访问MOS资源。
通过MOS控制台获取
登录 MOS管理控制台。
,打开指定Bucket的概览页面,在访问域名区域查看Bucket的Endpoint和Bucket域名,如下图所示。
通过固定格式获取
MOS的访问地址为固定格式:BucketName.Endpoint。其中,
BucketName为您的存储空间名称,Endpoint为存储空间所在的地域对应的访问域名。详情请参见MOS访问域名使用规则。
与MOS同地域的MCS实例可以通过以下方式使用内网访问MOS资源:
通过URL直接访问MOS资源
您可以直接使用MOS资源的内网地址访问有权限的MOS资源。例如,杭州地域某Bucket名为test,根目录下有个Object名为1.jpg,处于公共读状态。此时,杭州地域的MCS实例均可以使用http://test.MOS-cn-hangzhou-internal.moduyuncs.com/1.jpg访问此Object。因此
,您可以将MOS资源的访问URL嵌入到您的网站中,提供给同地域的MCS用户或已通过专线接入到与MOS同地域内网的用户访问。
警告 为了您的数据安全,不建议您将MOS资源设置为公共读或公共读写 ,您可以通过Bucket Policy授权给指定用户访问您的资源。
通过MOSbrowser访问MOS资源
您可以在配置MOSbrowser访问参数的时候,将Endpoint设置为自定义,并填写MOS的内网Endpoint地址。详情请参见MOSbrowser。
通过MOSutil访问MOS资源
您可以在配置MOSutil访问参数的时候,将Endpoint设置为MOS的内网Endpoint地址。详情请参见MOSutil。
通过SDK访问MOS资源
SDK初始化client的时候,Endpoint配置MOS内网对应的Endpoint即可。
Java SDK
String endpoint = "http://MOS-cn-hangzhou-internal.moduyuncs.com";//以华东 1为例
String accessKeyId = "< yourAccessKeyId>";
String accessKeySecret = "< yourAccessKeySecret>";
MOSClient client = new MOSClient(endpoint, accessKeyId, accessKeySecret);
更多详情请参见Java SDK初始化。
PHP SDK
$accessKeyId = "< yourAccessKeyId>";
$accessKeySecret = "< yourAccessKeySecret>";
$endpoint = "< 您选定的MOS数据中心访问域名,例如http://MOS-cn-hangzhou-internal.moduyuncs.com>";
更多详情请参见PHP SDK初始化。
Python SDK
auth = MOS2.Auth('< yourAccessKeyId>', '< yourAccessKeySecret>')
endpoint = 'http://MOS-cn-hangzhou-internal.moduyuncs.com' # 您选定的MOS数据中心访问域名,假设Bucket处于杭州地域
bucket = MOS2.Bucket(auth, endpoint, 'BucketName')
更多详情请参见Python SDK初始化。
.NET SDK
const string accessKeyId = "< yourAccessKeyId>";
const string accessKeySecret = "< yourAccessKeySecret>";
const string endpoint = "http://MOS-cn-hangzhou-internal.moduyuncs.com";
var MOSClient = new MOSClient(endpoint, accessKeyId, accessKeySecret);
更多详情请参见.NET SDK初始化。
C SDK
ptions->config = MOS_config_create(options->pool);
aos_str_set(&options->config->endpoint, "http://MOS-cn-hangzhou-internal.moduyuncs.com");
aos_str_set(&options->config->access_key_id, "< yourAccessKeyId>");
aos_str_set(&options->config->access_key_secret, "< yourAccessKeySecret>");
options->config->is_cname = 0;
options->ctl = aos_http_controller_create(options->pool, 0);
更多详情请参见C SDK初始化。
不同地域的MCS实例或外网用户是无法直接通过MOS内网地址访问MOS资源的,但是您可以通过配置MCS反向代理来间接实现:
1.在MOS同地域创建一个有公网地址的MCS实例。详情请参见创建MCS实例。
2.在MCS实例上配置反向代理。详情请参见基于CentOS的MCS实例实现MOS反向代理和基于Ubuntu的MCS实例实现MOS反向代理。
3.MOS配置Bucket Policy,允许该MCS实例的内网地址访问MOS资源。详情请参见使用Bucket Policy授权其他用户访问MOS资源。
以上步骤配置完成后,您的用户将通过您的MCS公网地址访问您的MOS资源。当用户访问时,MCS实例通过内网向MOS请求资源,之后再返回给用户。
本文介绍在创建MOS的存储空间(Bucket)时如何选择合适的地域。
选择MOS地域时,通常需要考虑以下几个方面:
用户所在地
云产品之间的关系
资源价格
产品功能
如果您的MOS资源需要开放给其他用户访问,且希望用户有良好的访问体验,就必须考虑用户访问时的网络延迟。除了通信线路的质量外,距离是影响网络延迟的一个重要因素。
例如以杭州的用户为例,使用ping命令可以测试出其访问不同地域MOS数据中心的延迟情况。
可以看出,距离访问的数据中心越远,数据返回所需时间越长。所以,在选择地域的时候,尽量考虑离用户更近的地域。
如果您需要将MOS作为其他摩杜云产品的数据源,则需要根据其他云产品的地域去选择MOS的地域。当 其他云产品和MOS在同一地域时,可以通过VPC地址访问MOS。访问时不会产生流量费用,且访问速度较外网会更快。
因各地域的优惠政策不同,某些地域的资源包价格会更优惠。选择MOS地域的时候可优先考虑资源包价格更优惠的地域。
MOS的新功能在发布初期会选择部分地域进行公测,若您希望试用这些新功能, 需在指定地域创建存储空间。MOS产品功能发布记录请参见 新功能发布记录。
对象存储MOS提供标准、低频访问、归档、冷归档四种存储类型,全面覆盖从热到冷的各种数据存储场景。
说明 各存储类型的定价,请参见MOS产品定价。各存储类型的计费方式,请参见存储费用。
提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问。适用于各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。提供标准存储-本地冗余(LRS)和标准存储-同城冗余(ZRS)两种数据冗余存储方式。
标准存储-本地冗余(LRS)
采用数据冗余存储机制,将每个对象的不同冗余存储在同一个可用区内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
标准存储-同城冗余(ZRS)
采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。
提供高持久性、较低存储成本的对象存储服务。有最低存储时间(30天)和最小计量单位(64
KB)要求。支持数据实时访问,访问数据时会产生数据取回费用,适用于较低访问频率(平均每月访问频率1到2次)的业务场景。提供低频访问-本地冗余(LRS)和低频访问-同城冗余(ZRS)两种数据冗余存储方式。
低频访问-本地冗余(LRS)
采用数据冗余存储机制,将每个对象的不同冗余存储在同一个可用区内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
低频访问-同城冗余(ZRS)
采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。
提供了高持久性、极低存储成本的对象存储服务。有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟) 后访问,解冻会产生数据取回费用。适用于数据长期保存的业务场景,例如档案数据、医疗影像、科学资料、影视素材等。
提供了高持久性的对象存储服务,存储费用在四种存储类型中最低。 有最低存储时间(180天)和最小计量单位(64 KB)要求。数据需解冻后访问, 解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。 适用于需要超长时间存放的极冷数据,例如因合规要求需要长期留存的数据、 大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等业务场景。
说明 冷归档存储类型已在华北1(青岛)、华北2(北京)、华北3(张家口)、 华东1(杭州)、华东2(上海)、华南1(深圳)、西南1(成都)、中国香港、 澳大利亚(悉尼)、新加坡、美国(硅谷)、德国(法兰克福)、 马来西亚(吉隆坡)、印度尼西亚(雅加达)、印度(孟买)、 阿联酋(迪拜)地域公测,请联系摩杜云技术支持申请试用。
对比指标 | 标准存储-本地冗余(LRS) | 标准存储-同城冗余(ZRS) | 低频访问-本地冗余(LRS) | 低频访问-同城冗余(ZRS) | 归档存储类型 | 冷归档存储类型 |
---|---|---|---|---|---|---|
数据设计持久性 |
99.99999 9999%(11个9) |
99.9999 999999%(12个9) |
99.999 999999%(11个9) |
99.999 9999999%(12个9) |
99.999 999999%(11个9) |
99.999 999999%(11个9) |
服务可用性 | 99.99% | 99.995% | 99.00% | 99.50% | 99.00%(数据解冻之后) | 99.00%(数据解冻之后) |
最小计量单位 | 无 | 无 | 64 KB | 64 KB | 64 KB | 64 KB |
最低存储时间 | 无 | 无 | 30天 | 30天 | 60天 | 180天 |
数据取回费用 | 无 | 无 | 按实际获取的数据量收取,单位GB。 | 按实际获取的数据量收取,单位GB。 | 按实际获取的数据量收取,单位GB。 | 按实际解冻时选择的数据取回能力及数据大小收取,单位GB。 |
数据访问特点 | 实时访问,毫秒延迟。 | 实时访问,毫秒延迟。 | 实时访问,毫秒延迟。 | 实时访问,毫秒延迟。 | 数据需要先解冻,解冻完成后才能读取。解冻时间需要1分钟。 |
数据需要先解冻,解冻完成后才能读取。 不同优先级的首字节取回能力如下: 高优先级:1小时以内 标准:2~5小时 批量:5~12小时 |
图片处理 | 支持 | 支持 | 支持 | 支持 | 支持,但需要先解冻。 | 支持,但需要先解冻。 |
适用场景 | 各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。例如程序下载、移动应用等。 | 各种社交、分享类的图片、音视频应用、大型网站、大数据分析等,且对持久性和可用性有更高要求的业务场景。例如企业重要文件、敏感信息等。 | 较低访问频率(平均每月访问频率1到2次)的业务场景。例如热备数据、监控视频数据等。 | 较低访问频率(平均每月访问频率1到2次),且对持久性和可用性有更高要求的业务场景。例如企业业务数据、近期的医疗档案等。 | 数据长期保存的业务场景。例如档案数据、医疗影像、科学资料、影视素材等 |
需要超长时间存放的极冷数据。 例如因合规要求需要长期留存的数据、 大数据及人工智能领域长期积累的原始数据、 影视行业长期留存的媒体资源、在线教育行业的归档视频等。 |
说明 数据取回费用中的数据是从底层分布式存储系统读取的数据量,在公网传输的数据量会计入到流出流量的计费项中。
MOS支持标准存储、低频访问、归档存储、冷归档存储四种存储类型,您可以根据需要随时转换文件(Object)的存储类型。
MOS支持通过以下方式转换Object的存储类型:
方式一:通过生命周期规则自动转换Object的存储类型
方式二:通过控制台、MOS工具、SDK手动转换Object的存储类型
MOS生命周期管理(Lifecycle)提供Object Transition机制,支持自动转换文件存储类型。
基于生命周期规则的存储类型转换规则
本地冗余(LRS)
本地冗余类型文件转换规则如下:
标准存储(LRS)类型可转换为低频访问(LRS)、归档存储(LRS)和冷归档存储(LRS)类型。
低频访问(LRS)类型可转换为归档存储(LRS)和冷归档存储(LRS)类型。
归档存储(LRS)类型转换为冷归档存储(LRS)类型。
同城冗余(ZRS)
同城冗余类型文件转换规则:仅支持标准存储(ZRS)类型转换为低频访问(ZRS)类型。
基于生命周期规则的存储类型转换示例
例如Bucket的冗余类型为本地冗余,对Bucket内指定前缀的Object,可配置如下Lifecycle策略。
策略说明如下:
Object存储30天后,自动转换为低频访问类型。
Object存储180天后,自动转换为归档存储类型。
Object存储360天后,自动转换为冷归档存储类型。
Object存储超过720天后,Object会被自动删除。
说明
如果一个Bucket同时配置了Object保留指定周期后转换为低频访问、Object保留指定周期后转换为归档存储、Object保留指定周期后转换为冷归档存储和Object保留指定周期后删除的策略,多条策略同时设置时,转换周期必须满足以下条件:
转换为低频访问的周期 转换为归档的周期 转换为冷归档的周期 指定周期后删除
生命周期规则配置方式
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用。 |
命令行工具 | 命令行工具,性能好。 |
Java SDK | 丰富、完整的各类语言SDK demo。 |
您可以通过CopyObject接口,将Object覆写为指定的存储类型。若转换的Object是低频访问、归档存储或冷归档存储类型,且存储未满指定周期的,会产生存储不足规定时长容量费用。更多信息,请参见存储费用。
基于CopyObject的存储类型转换规则
本地冗余(LRS)
各存储类型之间可任意转换。
说明 归档或冷归档类型的文件需要解冻(Restore)之后才能修改存储类型。关于如何解冻文件,请参见解冻文件。
同城冗余(ZRS)
仅支持标准存储(ZRS)和低频访问(ZRS)之间互相转换。
基于CopyObject的存储类型转换操作方式
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用。 |
命令行工具MOSutil | 命令行工具,性能好。 |
Java SDK | 丰富、完整的各类语言SDK demo。 |
当Object被转换为低频访问、归档存储和冷归档存储类型后,需注意如下事项:
最小计量空间
对于小于64 KB的Object,会按照64 KB计算空间大小。
最短存储周期
低频访问类型的Object需要至少保存30天;归档存储类型的Object需至少保存60天;冷归档存储类型的Object需至少保存180天。若存储未满指定周期,会收取存储不足规定时长容量费用。
通过生命周期自动转换Object存储类型
通过生命周期转换Object存储类型时,不会重新计算Object的存储时间。例如a.txt作为标准存储类型已经在MOS中存储了10天,通过生命周期转换为低频访问类型,继续存储20天即满足最少存储30天的要求。详情请参见常见问题。
手动转换Object存储类型
手动转换Object存储类型时,会重新计算Object的存储时间。例如a.txt作为标准存储类型已经在MOS中存储了10天,手动将Object转换为低频访问类型,则需继续存储30天才满足最少存储30天的要求。
解冻时间
归档存储和冷归档存储类型Object恢复为可读取状态需要一定的解冻时间,如果业务场景需要实时读取Object时,不建议将Object转换成归档存储或冷归档存储类型。
数据取回费用
访问低频访问类型的Object时,会根据实际访问量额外收取数据取回费用;解冻归档存储和冷归档存储类型的Object会额外收取数据解冻费用,此费用与流出流量费用是两个独立计费项。如果Object每月平均访问频率高于1次,Object转换成低频访问、归档存储或冷归档存储类型后的使用成本可能高于标准存储类型。
临时存储费用(公测期间暂不收取)
冷归档存储类型Object在数据解冻时会生成一份标准存储类型的Object副本用于访问。该Object在解冻时间结束前会以标准存储的存储费率计算临时存储费用。
在上传数据(例如文档、图片、音视频等)到MOS之前, 您需要在MOS所支持的地域中创建一个存储空间(Bucket), 然后将无限数量的对象(Object)上传到该Bucket中。
Bucket和Object都是MOS资源,MOS提供了相关的API接口来管理这些资源。例如您可以通过API接口来创建Bucket并上传Object,您也可以通过控制台来完成这些操作。控制台使用MOS
API接口发送请求到MOS。
同一个Bucket的内部是扁平的,没有文件系统的目录等概念,所有的Object都直接隶属于其对应的Bucket。Bucket的名称在MOS范围内全局唯一,且创建之后无法修改,详情请参见存储空间(Bucket)命名规范。
下表汇总了MOS支持的Bucket相关操作。关于Object的操作,请参见 对象概述。
操作 | 说明 |
---|---|
创建存储空间 |
在上传Object到MOS之前,您需要创建一个用
于存储文件的Bucket。Bucket具有各种配 置属性,包括地域、访问权限以及其他元数据。 创建Bucket时,您需要综合考虑时延、成本 及合规等要求选择一个合适的地域,详情 请参见如何选择MOS地域。有关MOS支持的 地域列表,请参见访问域名和数据中心。 |
设置存储空间读写权限(ACL) | 您可以在创建存储空间(Bucket)时设置存储空间的访问权限(ACL), 也可以在创建Bucket后根据自己的业务需求修改存储空间的ACL,该操作只有存储空间的拥有者可以执行。 |
获取存储空间地域信息 | 您可以通过MOS API的GetBucketLocation接口获取存储空间(Bucket)所属的地域,即数据中心的物理位置信息。 |
列举存储空间 | 您可以通过设置不同的列举条件,列举某个地域下的全部或部分Bucket。 |
存储空间清单 | 您可以通过清单功能获取Bucket中指定Object的数量、大小、 存储类型、加密状态等信息。相对于GetBucket (ListObjects)接口,在海量Object的列举场景中,建议您优先使用清单功能。 |
请求者付费模式 | 请求者付费模式是指由请求者支付访问Bucket内数据时产生的费用, 而Bucket拥有者仅支付存储费用。当您希望共享数据,但又不希望支付因共享数据产生的额外费用时,您可以开启此功能。 |
绑定自定义域名 | 文件上传至Bucket后,MOS会自动生成文件URL,您可以直接通过文件 URL访问该文件。若您希望通过自定义域名访问这些文件, 需要将自定义域名绑定至文件所在的Bucket,并添加CNAME记录。 |
传输加速 | MOS传输加速利用全球分布的云机房,将全球各地用户对您Bucket的访问, 经过智能路由解析至就近的接入点,使用优化后的网络及协议,为云存储互联网的上传、下载提供端到端的加速方案。 |
跨域资源共享 | 跨域资源共享CORS(CrMOS-Origin Resource Sharing)简称跨域访问, 是HTML5提供的标准跨域解决方案,允许Web应用服务器进行跨域访问控制,使得跨域数据传输得以安全进行。 |
存储空间标签 | 您可以通过Bucket的标签功能, 对Bucket进行分类管理,如列举带有指定标 签的Bucket、对拥有指定标签的Bucket设置访问权限等。 |
事件通知 | 为Bucket配置事件时可自定义Bucket内 您关注的Object,当这些Object发生指定事件时,您可以第一时间收到通知。 |
生命周期 | 生命周期规则允许您定期将Bucket内的Object转储为低频访问、归档存储或冷归档存储类型,或将过期的Object和碎片删除,从而节省存储费用。 |
实时日志查询 | 开启实时日志查询后,您可以追踪Bucket的访问请求。 帮助您完成操作审计、访问统计、异常事件回溯和问题定位等工作,提升您的工作效率并更好地帮助您基于数据进行决策。 |
合规保留策略 | MOS支持针对Bucket设置基于时间的合规保留策略。当策略锁定后,用户可以在Bucket中上传和读取Object。 但是在Object的保留时间到期之前,任何用户都无法删除Object和策略。Object的保留时间到期后,才可以删除Object。 |
Bucket Policy | MOS支持针对Bucket设置基于时间的合规保留策略。当策略锁定后,用户可以在Bucket中上传和读取Object。 但是在Object的保留时间到期之前,任何用户都无法删除Object和策略。Object的保留时间到期后,才可以删除Object。 |
跨区域复制 | 跨区域复制是指将源Bucket中的Object的创建、更新和删除等操作自动、异步(近实时)地复制到不同地域的目标Bucket。 |
版本控制 | 版本控制是针对Bucket级别的数据保护功能。 开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。 您在错误覆盖或者删除Object后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。 |
静态网站托管 | 静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本(例如JavaScript)。 您可以通过静态网站托管功能将您的静态网站托管到MOS的Bucket,并使用Bucket的访问域名访问这个网站。 |
删除存储空间 | 如果您不再需要保留某个Bucket时,可将其删除。 |
存储空间(Bucket)是用于存储对象(Object)的容器,所有的Object都必须隶属于某个Bucket。 Bucket具有各种配置属性,包括地域、访问权限、存储类型等。您可以根据实际需求,创建不同类型的Bucket来存储不同的数据。
同一摩杜云账号在同一地域内创建的Bucket总数不能超过100个。Bucket创建后,其名称无法修改。Bucket命名规则如下:
Bucket名称在MOS范围内必须全局唯一。
只能包括小写字母、数字和短划线(-)。
必须以小写字母或者数字开头和结尾。
长度为3~63个字符。
Bucket名称的正确示例如下:
examplebucket1
test-bucket-2021
moduyun-MOS-bucket
Bucket名称的错误示例以及错误的原因如下:
Examplebucket1(包含了大写字母)
test_bucket_2021(包含了下划线)
moduyun-MOS-bucket-(结尾包含了短划线)
在上传文件(Object)到 MOS 之前,您需要使用 MOS API 中的 PutBucket 接口来创建一个用于存储文件的存储空间(Bucket), 存储空间具有各种配置属性,包括地域、访问权限以及其他元数据。
说明 创建存储空间的 API 接口的详细信息请参见 PutBucket。
操作方式 | 说明 |
---|---|
控制台 | Web 应用程序,直观易用 |
图形化工具 MOSbrowser | 图形化工具,易操作 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK |
丰富、完整的语言 SDK demo |
同一摩杜云账号在同一地域内创建的存储空间总数不能超过 100 个。
每个存储空间的名字全局唯一,否则会创建失败。
存储空间的名称需要符合命名规范。
存储空间一旦创建成功,名称和所处地域不能修改。
您可以在创建存储空间的时候设置相应的存储空间权限(ACL), 也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。更多信息,请参见设置存储空间读写权限。
您可以在创建存储空间(Bucket)时设置存储空间的访问权限(ACL),也可以在创建Bucket后根据自己的业务需求修改存储空间的ACL,该操作只有存储空间的拥有者可以执行。
存储空间有三种访问权限:
权限值 | 中文名称 | 权限对访问者的限制 |
---|---|---|
public-read-write | 公共读写 |
任何人(包括匿名访问者)都可以对该存储空间内文件进行读写操作。
警告 互联网上任何用户都可以对该 Bucket 内的文件进行访问, 并且向该 Bucket 写入数据。这有可能造成您数据的外泄以及费用激增, 若被人恶意写入违法信息还可能会侵害您的合法权益。 除特殊场景外,不建议您配置公共读写权限。 |
public-read | 公共读 |
只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,
任何人(包括匿名访问者)都可以对该存储空间中的文件进行读操作。
警告 互联网上任何用户都可以对该 Bucket 内文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。 |
private | 私有 | 只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 |
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用。 |
图形化工具MOSbrowser | 图形化工具,易操作。 |
命令行工具MOSutil | 命令行工具,性能好。 |
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK Node.js SDK Ruby SDK |
丰富、完整的各类语言SDK demo。 |
您可以通过MOS API的GetBucketLocation接口获取存储空间(Bucket)所属的地域,即数据中心的物理位置信息。
说明 获取存储空间地域信息的API详情请参考GetBucketLocation。
您可以通过返回的Location字段查看存储空间所在的地域信息, 例如:华东1(杭州)的Location字段信息显示为MOS-cn-hangzhou。MOS的地域信息请参见访问域名。
操作方式 | 说明 |
---|---|
控制台 | 进入控制台后在存储空间属性中直接显示地域信息 |
图形化工具MOSbrowser | 图形化工具,易操作 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK
Python SDK PHP SDK Go SDK C SDK .NET SDK Node.js SDK |
丰富、完整的各类语言SDK demo |
您可以通过设置不同的列举条件,列举某个地域下的所有存储空间(Bucket)、指定前缀的Bucket等。
有关列举存储空间的API接口详细信息,请参见GetService (ListBuckets)。
不支持使用传输加速Endpoint列举Bucket。有关传输加速的更多信息,请参见
传输加速。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用。 |
图形化工具MOSbrowser | 图形化工具,易操作。 |
命令行工具MOSutil | 命令行工具,性能好。 |
Java SDK
Python SDK C++ SDK PHP SDK Go SDK C SDK .NET SDK Node.js SDK Ruby SDK |
丰富、完整的各类语言SDK demo。 |
您可以通过MOS的PutBucketLifecycle接口设置生命周期规则(Lifecycle), 定期将对象(Object)转储为低频访问、归档存储或冷归档存储类型,或将过期的Object和碎片删除,从而节省存储费用。
说明 设置生命周期的API详细信息可参考PutBucketLifecycle。
生命周期规则可以定期将非热门数据转换为低频访问、归档存储或冷归档存储,将不再需要访问的数据删除,让您更高效地管理您存储的数据,节省大量人力及存储成本。例如:
某医疗机构的医疗档案,上传至MOS后半年内需要偶尔访问,半年后基本不再访问。可以通过设置生命周期规则,将已上传180天的医疗档案转为归档存储。
某公司服务热线的录音文件,上传至MOS后2个月内,需要作为数据统计及核查的依据,2个月后偶尔访问,半年后基本不再访问,2年后数据不再需要存储。可以通过设置生命周期规则,设置录音文件上传60天后转为低频访问存储,180天后转为归档存储,730天后删除。
某存储空间内有大量文件需要全部删除,但是手动删除每次仅可以删除最多1000个文件,比较麻烦。此时可以配置一条匹配整个Bucket的生命周期规则,设置一天后删除所有文件。此Bucket内的数据会在第二天被全部删除。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
命令行工具 | 命令行工具,性能好 |
Java SDK |
丰富、完整的各类语言 SDK demo |
请求费用
成功的生命周期异步请求操作会记录在访问日志中并产生相关的请求次数费用,失败的操作不会被记录和收费。
不足规定时长存储费用
通过生命周期将文件存储类型转换为低频或归档,且在不足规定时长前删除文件
低频访问类型最低存储时间(30天)和归档类型最低存储时间(60天)均以文件存储在MOS的Last
Modified时间开始计算。例如标准类型文件在其创建10天后,通过生命周期将其转换为低频访问类型,过了20天后将其转换为归档类型,再过5天将其删除。此时会产生25天的归档存储不足规定时长容量费用。
通过生命周期将文件存储类型转换为冷归档,且在不足规定时长前删除文件
冷归档的最低存储时间(180天)以文件转为冷归档类型的时间开始计算。例如标准类型文件在其创建10天后,通过生命周期规则转换为冷归档存储类型,再过1天将其删除。此时会产生179天的冷归档存储不足规定时长容量费用。
有关低频访问、归档存储以及冷归档存储不足规定时长容量费用的详情,请参见存储费用。
数量
每个存储空间最多可配置1000条生命周期规则。
生效时间
生命周期规则创建后的24小时内,MOS会加载规则。规则加载完成后,MOS会在每天的北京时间8:00开始执行规则,并在随后的24小时内执行完毕。Object的最后修改时间与生命周期规则开始执行时间(8:00)必须间隔24小时以上。例如生命周期规则为Object上传1天后删除,则2020年7月20日上传的文件删除时间如下:
北京时间8:00前上传的文件会在2020年7月21日8:00开始删除,并在7月22日8:00前删除完毕。
北京时间8:00后上传的文件会在2020年7月22日8:00开始删除,并在7月23日8:00前删除完毕。
说明 更新生命周期规则会中止当天的生命周期任务,请不要频繁更新生命周期规则。
生命周期规则由以下元素组成:
策略:生命周期规则匹配的Object和碎片。
按前缀匹配:按指定前缀匹配Object和碎片。可创建多条规则匹配不同的前缀,前缀不能重复。前缀的命名规范与Object命名规范相同,详情请参见对象(Object)。
按标签匹配:按指定标签的Key和Value匹配Object。单条规则可配置多个标签,MOS对所有拥有这些标签的对象执行生命周期规则。标签匹配规则不作用于碎片。
说明 对象标签功能详情请参见对象标签。
按前缀+标签匹配:按指定前缀和标签的筛选条件匹配对象。
配置到整个Bucket:匹配整个Bucket内的所有Object和碎片。配置了覆盖整个Bucket的生命周期规则后,不支持再创建其他生命周期规则。
文件过期策略:设置Object的过期时间及操作。
过期天数:指定一个过期天数N,并指定非版本状态下的所有Object、以及版本控制状态下的当前版本Object过期后执行什么操作。Object会在其最后修改时间的N天后过期,并执行指定的操作。
过期日期:指定一个过期日期,并指定非版本状态下的所有Object、以及版本控制状态下的当前版本Object过期后执行什么操作。最后修改时间在该日期之前的Object全部过期,并执行指定的操作。
Object成为非当前版本天数:指定一个过期天数N,并指定非当前版本Object过期后执行什么操作。Object会在其成为非当前版本的N天后过期,并执行指定的操作。
您可以转换过期Object的存储类型或将其删除。详情请参见生命周期配置元素。
碎片过期策略:设置碎片的过期时间及操作。
过期天数:可指定一个过期天数N,文件碎片会在其最后修改时间的N天后被删除。
过期日期:指定一个过期日期,最后修改时间在该日期之前的文件碎片会被全部删除。
规则生效
例如,某个Bucket有如下几个Object:
logs/program.log.1
logs/program.log.2
logs/program.log.3
doc/readme.txt
如果生命周期规则指定的前缀是logs/,那么此规则仅作用于前三个以logs/开头的Object;如果指定的前缀是doc/readme.txt,那么此规则则只对doc/readme.txt起作用。
对过期策略匹配的Object执行GET或HEAD操作时,MOS会在响应Header中加入x-MOS-expiration头。其中expiry-date的值表示Object的过期日期;rule-id的值表示相匹配的规则ID。
规则冲突
相同前缀和标签
当不同生命周期规则作用于相同前缀和标签的Object时,删除操作优先于存储类型转换操作。rule1用于指定所有前缀为abc,标签为a=1的Object
20天后删除,rule2规则不生效。
rule | prefix | tag | action |
---|---|---|---|
rule1 | abc | a=1 | 20天后删除 |
rule2 | abc | a=1 | 20天后转为Archive |
前缀重叠+标签相同
rule1用于指定所有标签为a=1的Object 10天后转为IA。rule2用于指定前缀为abc且标签为a=1的Object 120天后删除。
rule | prefix | tag | action |
---|---|---|---|
rule1 | - | a=1 | 10天后转为IA |
rule2 | abc | a=1 | 120天后被删除 |
rule3用于指定所有标签为a=1的Object 20天后转为Archive。 由于Archive类型文件无法转换为IA类型,因此rule4指定的前缀为abc且标签为a=1的Object 30天后转为IA的规则不生效。
rule | prefix | tag | action |
---|---|---|---|
rule3 | - | a=1 | 20天后转为Archive |
rule4 | abc | a=1 | 30天后转为IA |
通过CopyObject覆写文件存储类型时,是否有最小存储天数限制?
有最小存储天数限制。例如低频访问类型文件在其创建10天后,通过CopyObject覆写操作将存储类型转换为归档存储,此操作会产生低频访问存储不足规定时长费用。
同时文件的创建时间发生变化,且转换后的归档存储类型文件因最小存储天数为60天,因此需再保存至少60天。
通过生命周期规则进行的类型转换、过期删除操作,是否有日志记录?
所有成功通过生命周期规则进行的类型转换、过期删除操作都会有日志记录,日志记录字段如下:
Operation
CommitTransition:通过生命周期规则转换存储类型,例如转换为低频访问、归档或冷归档存储类型。
ExpireObject:通过生命周期规则删除过期Object。
Sync Request
lifecycle:生命周期规则触发的转换存储类型和删除过期Object的操作。
本文介绍对象(Object)生命周期基本示例中涉及的各个配置元素。
生命周期配置为XML格式,举例如下:
< LifecycleConfiguration>
< Rule>
< ID>delete logs after 10 days< /ID>
< Prefix>logs/< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< Days>10< /Days>
< /Expiration>
< /Rule>
< Rule>
< ID>delete doc< /ID>
< Prefix>doc/< /Prefix>
< Status>Disabled< /Status>
< Expiration>
< CreatedBeforeDate>2017-12-31T00:00:00.000Z< /CreatedBeforeDate>
< /Expiration>
< /Rule>
< Rule>
< ID>delete xx=1< /ID>
< Prefix>rule2< /Prefix>
< Tag>< Key>xx< /Key>< Value>1< /Value>< /Tag>
< Status>Enabled< /Status>
< Transition>
< Days>60< /Days>
< StorageClass>Archive< /StorageClass>
< /Transition>
< /Rule>
< /LifecycleConfiguration>
上述示例中,有三条规则,含义如下:
第一条规则会删除前缀为logs/,且最后更新时间是10天前的Object。
第二条规则虽然指定了删除2017年12月31日之前被修改的前缀为doc/的Object,但是由于它的Status是Disabled状态,所以该规则并不会生效。
第三条规则会将标签为xx=1,且最后更新时间是60天前的Object存储类型修改为Archive(归档存储)。
生命周期规则涉及的各项配置元素如ID元素、操作元素等将在下文提供详细介绍。
为存储空间配置的生命周期规则ID。最多由255个字节组成。如没有指定,或者该值为空时,MOS会自动生成一个唯一ID。
表示生命周期规则所处的状态。您可以选择启用(Enabled)或禁用 (Disabled)生命周期规则。如果规则处于禁用状态,则MOS不会执行规则中定义的任何操作。
基于您指定的< Prefix>元素,将生命周期规则应用于存储空间中的所有或部分对象。
按指定日期
使用子元素< CreatedBeforeDate>
指定绝对的日期,按照最后修改时间在该日期之前的Object,执行过期(Expiration)或转换(Transition)存储类型操作。
按指定天数
使用子元素< Days>指定相对天数,并指定Object在其最后修改时间的N天后,执行过期或转换存储类型操作。
通过在生命周期规则中指定的一个或多个操作元素, 您可以指示MOS在对象的生命周期内执行特定操作。 这些操作的效果取决于存储桶的版本控制状态。 以下总结了对象执行的生命周期配置规则操 作的行为与包含对象的存储空间的版本控制状态的关系。
未开启版本控制的Bucket
操作 | 说明 |
---|---|
Transition | 达到对象生命周期中指定的日期或时间段时,将对象转换为指定存储类型。 |
Expiration | 达到对象生命周期中指定的日期或时间段时,永久删除符合条件的对象。 |
受版本控制的Bucket
对受版本控制(即已开启或暂停版本控制)的Bucket中对象生命周期的相关元素说明如下:
当前版本Object过期或转换操作
操作 | 说明 |
---|---|
Expiration |
根据当前版本Object是否为删除标记,其过期行为说明如下:
当前版本Object不为删除标记: 在开启版本控制状态下,MOS将会插入具有唯一版本ID的删除标记作为当前版本,原当前版本将成为非当前版本。 在暂停版本控制状态下,MOS将会插入null版本ID的删除标记作为当前版本,而原当前版本中版本ID为null的版本将被覆盖,以保证一个Object只有一个版本ID为null的版本。 当前版本Object为删除标记: 且在该Object还有一个或多个非当前版本状态下进行Expiration过期操作,MOS将不执行任何操作。 且在该Object仅有一个版本状态下进行Expiration过期操作,则该删除标记即为过期删除标记,即仅剩一个删除标记版本,其余版本均已删除。 MOS将根据子元素ExpiredObjectDeleteMarker决定是否移除此过期删除标记,以达到彻底清理的目的。 如果ExpiredObjectDeleteMarker设置为true,MOS将自动为您检测该 过期删除标记并将其移除,以达到彻底清理的目的。
注意
|
Transition | 达到生命周期中指定的日期或时间段时,将当前版本Object转换为指定存储类型。 |
非当前版本Object过期或转换操作
操作 | 说明 | 关联的子元素 |
---|---|---|
NoncurrentVersionExpiration | 非当前版本过期操作。 |
子元素< NoncurrentDays>指相对过期时间,
表示该版本从当前版本变成非当前版本开始,到永久删除之间的保留时间段。
说明 例如该版本原本为当前版本,2019年5月1日由于putObject覆盖操作, 该版本变成了非当前版本。NoncurrentVersionExpiration元素设置了 < NoncurrentDays>过期时间为3天,那么该版本将在2019年5月4日被 彻底删除。由于版本的连续性,每次执行上传操作时,当 前版本会被置为第一个非当前版本,新添加的版本成为其后继版 本。MOS会通过查看其后继版本的创建时间,来获取一个版本成为非当前版本的开始时间。 |
NoncurrentVersionTransition | 非当前版本Object存储类型转换操作。 |
子元素< NoncurrentDays>指相对转换时间,表示该版本从当前版本变 成非当前版本开始,到进行存储类型转换之间的时间段。 子元素< StorageClass>用来指定Object转储的存储类型。 |
本文档提供多个常见的生命周期配置示例, 以便您更好地使用生命周期规则管理您存储空间(Bucket)内的文件(Object)。
每个生命周期规则都包含至少一个筛选条件,筛选条件可用于确定Bucket中适用生命周期规则的部分或所有Object。以下生命周期配置显示了如何指定筛选条件的示例。
示例1
在此生命周期配置规则中,筛选条件指定了prefix为doc/,此规则将应用于prefix为doc/的Object,例如doc/test1.txt和doc/test2.jpg等Object,并指定通过生命周期规则完成以下操作:
在Object最后修改时间超过180天后将其转换为IA存储类型(Transition操作)。
在Object最后修改时间超过365天后将其删除(Expiration操作)。
< LifecycleConfiguration>
< Rule>
< ID>test-rule0< /ID>
< Prefix>doc/< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< Days>365< /Days>
< /Expiration>
< Transition>
< Days>180< /Days>
< StorageClass>IA< /StorageClass>
< /Transition>
< /Rule>
< /LifecycleConfiguration>
示例2
指定生命周期规则应用于某个Bucket内的所有Object,并指示该Bucket内的所有Object在距其最后修改时间超过300天后过期。
< LifecycleConfiguration>
< Rule>
< ID>test-rule1< /ID>
< Prefix>< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< Days>300< /Days>
< /Expiration>
< /Rule>
< /LifecycleConfiguration>
示例3
指定生命周期规则应用于某个Bucket内的所有Object(即Prefix为空),并指示该Bucket内的所有最后修改时间早于2019年12月30日的Object过期。
< LifecycleConfiguration>
< Rule>
< ID>test-rule0< /ID>
< Prefix>< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< CreatedBeforeDate>2019-12-30T00:00:00.000Z< /CreatedBeforeDate>
< /Expiration>
< /Rule>
< /LifecycleConfiguration>
以下说明了筛选条件重叠的情况下,是否造成生命周期操作冲突的情况。
示例1(冲突)
假设您有包含两个规则,每个规则各指定一个标签筛选条件:
规则1指定了基于标签的筛选条件(tag1/value1)。此规则指示Object最后修改时间超过180天后转换为IA存储类型。
规则2指定了基于标签的筛选条件(tag2/value2)。此规则指示Object最后修改时间超过10天后过期。
< LifecycleConfiguration>
< Rule>
< ID>test-rule1< /ID>
< Prefix>< /Prefix>
< Tag>
< Key>tag1< /Key>
< Value>value1< /Value>
< /Tag>
< Status>Enabled< /Status>
< Transition>
< Days>180< /Days>
< StorageClass>IA< /StorageClass>
< /Transition>
< /Rule>
< Rule>
< ID>test-rule2< /ID>
< Prefix>< /Prefix>
< Tag>
< Key>tag2< /Key>
< Value>value2< /Value>
< /Tag>
< Status>Enabled< /Status>
< Expiration>
< Days>10< /Days>
< /Expiration>
< /Rule>
< /LifecycleConfiguration>
说明 如果存在带有两个标签的Object,即两个规则都将应用于相同Object。 在这种情况下,Object将在其最后修改时间超过10天后过期。Object被删除后,转换存储类型操作将不再有效。
示例2(无冲突)
在本示例中,配置了包含两个指定重叠前缀的规则,如下所示。
规则1指定了一个空Prefix(即作用于所有Object),指示Object距其最后修改时间超过365天后全部删除。
规则2指定了一个Prefix(test/),指示Object距其最后修改时间超过30天后转换为Archive存储类型。
< LifecycleConfiguration>
< Rule>
< ID>test-rule1< /ID>
< Prefix>< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< Days>365< /Days>
< /Expiration>
< /Rule>
< Rule>
< ID>test-rule2< /ID>
< Prefix>test/< /Prefix>
< Status>Enabled< /Status>
< Transition>
< Days>30< /Days>
< StorageClass>Archive< /StorageClass>
< /Transition>
< /Rule>
< /LifecycleConfiguration>
您可以临时禁用生命周期规则。例如,以下生命周期配置指定了两个规则,且在策略中选择禁用规则1,启用规则2。
规则1表示前缀为logs/的Object,在其创建1天后转换为IA存储类型。
规则2表示前缀为documents/的Object,在其创建1天后转换为Archive存储类型。
< LifecycleConfiguration>
< Rule>
< ID>test-rule1< /ID>
< Prefix>logs/< /Prefix>
< Status>Disabled< /Status>
< Transition>
< Days>1< /Days>
< StorageClass>IA< /StorageClass>
< /Transition>
< /Rule>
< Rule>
< ID>test-rule2< /ID>
< Prefix>documents/< /Prefix>
< Status>Enabled< /Status>
< Transition>
< Days>1< /Days>
< StorageClass>Archive< /StorageClass>
< /Transition>
< /Rule>
< /LifecycleConfiguration>
假设您有一个启用了版本控制的Bucket,即该Bucket内的每个Object都有一个当前版本以及零个或零个以上的非当前版本。有关版本控制的更多信息请参见版本控制介绍。
示例1
您可以通过配置以下规则,实现Object距其最后修改时间超过10天后转换为IA存储类型,Object成为非当前版本60天后转换为Archive存储类型,Object成为非当前版本90天后删除。
< LifecycleConfiguration>
< Rule>
< ID>test-rule0< /ID>
< Prefix>< /Prefix>
< Status>Enabled< /Status>
< Transition>
< Days>10< /Days>
< StorageClass>IA< /StorageClass>
< /Transition>
< NoncurrentVersionTransition>
< NoncurrentDays>60< /NoncurrentDays>
< StorageClass>Archive< /StorageClass>
< /NoncurrentVersionTransition>
< NoncurrentVersionExpiration>
< NoncurrentDays>90< /NoncurrentDays>
< /NoncurrentVersionExpiration>
< /Rule>
< /LifecycleConfiguration>
示例2
当Object在仅剩一个删除标记版本,其余版本均已删除的情况下执行Expiration过期操作,则该删除标记即为过期删除标记。移除过期删除标记示例如下:
< LifecycleConfiguration>
< Rule>
< ID>test-rule0< /ID>
< Prefix>< /Prefix>
< Status>Enabled< /Status>
< Expiration>
< ExpiredObjectDeleteMarker>true< /ExpiredObjectDeleteMarker>
< /Expiration>
< /Rule>
< /LifecycleConfiguration>
您可以使用对象存储MOS的清单功能获取存储空间(Bucket)中指定文件(Object)的数量、大小、存储类型、 加密状态等信息。相对于GetBucket (ListObjects)接口,在海量Object的列举场景中,建议您优先使用清单功能。
清单任务配置完成后,MOS会按清单规则指定的导出周期生成清单报告。清单文件的存储目录树结构如下:
dest_bucket
└──destination-prefix/
└──src_bucket/
└──inventory_id/
├──YYYY-MM-DDTHH-MMZ/
│ ├──manifest.json
│ └──manifest.checksum
└──data/
└──745a29e3-bfaa-490d-9109-47086afcc8f2.csv.gz
目录结构 | 说明 |
---|---|
destination-prefix/ | 该目录根据设置的清单报告名前缀生成,如果清单报告名前缀设置为空,将省略该目录。 |
src_bucket/ | 该目录根据配置清单报告的源Bucket名生成。 |
inventory_id/ | 该目录根据清单任务的规则名称生成。 |
YYY-MM-DDTHH-MMZ/ | 该目录是标准的格林威治时间戳,表示开始扫描Bucket的时间, 例如2020-05-17T16-00Z。该目录下包含了manifest.json和manifest.checksum文件。 |
data/ | 该目录下存放了包含源Bucket中的对象列表以 及每个对象的元数据的清单文件,清单文件格式为使用GZIP压缩的CSV文件。 |
清单功能生成的具体文件如下:
清单文件
清单文件存储在data/目录中,包含清单功能导出的文件信息。您可以通过manifest.json文件的fileSchema字段来获取清单文件的字段列信息。清单样例如下:
清单文件的所有字段从左到右分别为:
字段名称 | 描述 |
---|---|
Bucket | 执行清单任务的源Bucket名称。 |
Key |
Bucket中Object的名称。
Object名称使用URL编码,您必须解码后查看。 |
VersionId |
Object的版本ID。
仅当Bucket已开启版本控制功能,且您配置的清单规则为导出所有版本时出现此字段。 |
IsLatest |
Object版本是否为最新版本。当版本为最新版本时取值为True,否则取值为False。
仅当Bucket已开启版本控制功能,且您配置的清单规则为导出所有版本时出现此字段。 |
IsDeleteMarker |
Object版本是否为删除标记。当版本为删除标记时取值为True,否则取值为False。
仅当Bucket已开启版本控制功能,且您配置的清单规则为导出所有版本时出现此字段。 |
Size | Object大小。 |
StorageClass | Object的存储类型。 |
LastModifiedDate | Object的最后修改时间。 |
ETag |
Object的ETag。
Object生成时会创建相应的ETag,用于标识一个Object的内容。 通过PutObject接口创建的Object,ETag值是其内容的MD5值。 通过其他方式创建的Object,ETag值是其内容的UUID。 |
IsMultipartUploaded | Object是否通过分片上传生成。如果是,则该字段值为True,否则为False。 |
EncryptionStatus | Object是否已加密。若Object已加密,则该字段值为True,否则为False。 |
manifest文件
manifest文件包含manifest.json和manifest.checksum:
manifest.json:提供了有关清单的元数据和其他基本信息,包括如下内容。
字段名称 | 说明 |
---|---|
creationTimestamp | 以纪元日期格式创建的时间戳,显示开始扫描源Bucket的时间。 |
destinationBucket | 存储清单文件的目标Bucket。 |
fileFormat | 清单文件的格式。 |
fileSchema | 清单文件包含的字段。 |
files | 包含清单文件的文件名、大小、MD5值。 |
sourceBucket | 创建清单文件的源Bucket。 |
version | 清单版本。 |
manifest.checksum:包含manifest.json文件的MD5值。
费用说明
使用Bucket清单功能会产生一定的费用,公测期间仅收取API请求费用和清单文件存储费用,暂不收取功能使用费用。
在您删除清单规则前,MOS会按照清单规则一直生成清单文件,会产生一定的存储费用。为避免产生不必要的费用,请及时清理不再需要的清单文件。
权限说明
使用RAM用户配置清单规则时,需具有以下权限:
配置清单时,需调用PutBucketInventory、GetBucketInventory、ListBucketInventory、DeleteBucketInventory接口,所以需要有对应接口的调用权限。
配置清单规则前需生成一个RAM角色,该角色需要拥有读取源Bucket所有文件和向目标Bucket写入文件的权限。若摩杜云账号没有这个角色,RAM用户需要有CreateRole和GetRole权限;若摩杜云账号已有这个角色,则RAM用户需要有GetRole权限。
配置角色的步骤,请参见创建可信实体为摩杜云服务的RAM角色。
配置限制
配置清单的源Bucket与存放清单文件的目标Bucket可以相同也可以不同,但是必须属于同一账号下的相同地域。
单个Bucket最多只能配置1000条清单规则,通过MOS管理控制台最多可配置10条清单规则。
配置建议
建议您根据源Bucket内的文件数量配置清单任务:
文件数量小于10亿,可以以天为单位生成清单文件。
文件数量为小于100亿,可以以周为单位生成清单文件。
文件数量大于100亿,建议以周为单位,并针对不同的文件前缀设置不同的清单任务,保证每个清单任务涉及的文件不超过100亿个。
异常说明
若源Bucket没有任何文件,或清单任务设置的前缀没有匹配到任何文件,则不会生成清单文件。
导出清单文件的过程中,由于Object的创建、删除或覆盖等操作,可能会导致最终输出的清单列表中不一定包含所有的Object。最后修改时间早于manifest.json文件中createTimeStamp字段显示时间的Object会出现在清单文件中;最后修改时间晚于createTimeStamp字段显示时间的Object可能不会出现在清单文件中。建议您对清单列表中的Object进行操作之前,先使用HeadObject接口检查Object的属性。更多信息,请参见HeadObject。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK Go SDK C++ SDK |
丰富、完整的各类语言SDK demo |
如何快速得知清单文件已生成?
涉及Object较多时,清单文件生成需要一定的时间。
若您希望第一时间获知清单文件已生成,建议您在生
成清单的目标Bucket中配置事件通知规则,将事件类型设置
为PutObject。当清单生成之后,您会收到Object生成的
提醒。配置事件通知方式,请参见设置事件通知规则。
摩杜云MOS的请求者付费模式是指由请求者支付访问存储空间(Bucket)内数据时产生的费用, 而Bucket拥有者仅支付存储费用。当您希望共享数据, 但又不希望支付因共享数据产生的额外费用时,您可以开启此功能。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK PHP SDK Node.js SDK Python SDK .NET SDK Go SDK C++ SDK |
丰富、完整的各类语言SDK demo |
共享大型数据集(如邮政编码目录、参考数据、地理空间信息或网络爬取数据)。例如,研究机构提供公开数据集, 希望所有客户都能访问该数据,但请求产生的流量费用和请求次数费用由请求者支付。配置步骤如下:
i.将Bucket开启请求者付费模式。详细配置步骤请参见
设置请求者付费模式。
ii.通过Bucket Policy,将该Bucket授权给您客户的摩杜云RAM子账号。
配置详情请参见
使用Bucket Policy授权其他用户访问MOS资源。
将数据交付给您的客户或合作伙伴。例如,某公司需要将生产数据交付 给他的合作伙伴,下载数据产生的流量费用和请求次数费用需要由合作伙伴支付。 配置步骤如下:
i.将Bucket开启请求者付费模式。
ii.将Bucket ACL设置为私有。
iii.利用Bucket Policy,将该Bucket授权给您的合作伙伴的
摩杜云RAM子账号。配置详情请参见
基于Bucket Policy实现跨账号访问MOS。
注意 您需要将Bucket授权给对方的RAM子账号,而不是将您账号下的RAM子账号的AK提供给对方。 因为,当对方通过您账号下的RAM子账号访问时,请求者仍是您自身,则请求费用需要由您(请求者)付费。
不允许匿名访问
如果您在Bucket上启用了请求者付费模式,则不允许匿名访问该Bucket。请求方必须提供身份验证信息,以便MOS能够识别请求方,从而对请求方而非Bucket拥有者收取请求所产生的费用。
当请求者是通过扮演摩杜云RAM角色来请求数据时,该角色所属的账户将为此请求付费。
申请方需携带x-MOS-request-payer信息
如果您在Bucket上启用了请求者付费模式,请求中必须携带x-MOS-request-payer请求头,以表明请求方已了解需要支付请求和数据下载费用。否则,请求方无法通过验证。
对于POST、GET和HEAD请求,请求头中必须携带x-MOS-request-payer:requester。
对于签名URL,需在请求中包含x-MOS-request-payer=requester。
数据拥有者访问该Bucket时,可以不携带x-MOS-request-payer请求头。数据拥有者作为请求者访问该Bucket时,请求产生的费用由数据拥有者(也是请求者)来支付。
请求者付费模式下,请求者会根据请求的内容支付请求次数、外网流出流量、CDN回源流量、图片处理、视频截帧、低频或归档存储的数据取回等费用中的一项或多项,Bucket拥有者支付其他费用(如存储费用、对象标签费用、传输加速费用等)。如果出现以下情况,请求会失败(返回HTTP
403错误),将对Bucket拥有者收取请求费用:
请求者未在请求中(GET、HEAD或POST)包含参数x-MOS-request-payer,或未在请求中将其作为参数(REST) 。
请求身份验证失败。
请求是匿名请求 。
文件(Object)上传至存储空间(Bucket)后,MOS会自动生成文件URL,您可以直接通过文件URL访问该文件。 若您希望通过自定义域名访问这些文件,需要将自定义域名绑定至文件所在的Bucket,并添加CNAME记录。
按照中华人民共和国《互联网管理条例》的要求,所有绑定至中国内地Bucket上的域名,都必须在中国工信部备案。
您可以通过摩杜云提供的备案服务进行域名备案。
每个存储空间最多可以绑定100个域名;一个域名只能绑定在一个存储空间上;每个账号可绑定的域名个数无限制。
通过MOS管理控制台绑定自定义域名时,不允许绑定泛域名;通过CDN服务加速MOS时,允许绑定泛域名,但该域名不会在MOS管理控制台显示。
对于2019年9月23日以后在中国内地创建的Bucket,需确保通过浏览器访问Bucket内的图片文件时是预览而非下载行为。
将Bucket配置成静态网站时,需确保正确访问静态网站页面,而非下载静态网页。
您可以通过MOS管理控制台进行简单配置即可绑定自定义域名。具体操作,请参见 绑定自定义域名。
例如华东1(杭州)有名为examplebucket的Bucket,其根目录下有名为exampleobject.jpg的公共读Object,绑定的自定义域名为www.example.com。则绑定自定义域名前后的访问方式如下:
绑定前
使用Bucket默认域名访问exampleobject.jpg,访问地址为https://examplebucket.MOS-cn-hangzhou.moduyuncs.com/exampleobject.jpg。
绑定后
使用自定义域名访问exampleobject.jpg,访问地址为https://www.example.com/exampleobject.jpg。
如果您希望绑定传输加速域名,请参见绑定传输加速域名。
如果您希望通过静态网页访问MOS资源,请参见设置静态网站托管和教程示例:使用自定义域名设置静态网站托管。
如果您希望使用HTTPS方式访问MOS服务,请参见证书托管。
MOS传输加速利用全球分布的云机房,将全球各地用户对您存储空间(Bucket)的访问, 经过智能路由解析至就近的接入点,使用优化后的网络及协议, 为云存储互联网的上传、下载提供端到端的加速方案。
MOS传输加速功能适用于各种需要提升访问速度,提升用户体验的场景:
远距离数据传输加速
例如全球性的论坛、Top在线协同办公平台等,部分客户会因传输距离较远导致上传和下载体验非常差。传输加速功能可以让全球各地的客户使用优化后的网络来传输数据,极大地提升上传和下载速度,让不同地域的用户都能有很好的访问体验。
GB、TB级大文件上传和下载
通过互联网远距离上传和下载大文件时,经常会因为网络延迟过大而导致传输失败。传输加速功能使用优化的互联网传输链路、调优的协议栈与传输算法,可大幅减少远距离互联网传输超时的比例。您还可以让传输加速功能与分片上传、断点续传下载结合,形成远距离大文件上传和下载的解决方案。
非静态、非热点数据下载加速
例如相册应用、游戏、电商、社交应用的评论内容、企业门户网站、金融类APP等,用户的下载体验直接影响产品竞争力和客户留存率。传输加速功能作为专为MOS上传、下载加速而设计的功能,可以最大限度利用客户端的网络能力,提升用户的下载体验。
开启传输加速后,Bucket在保留默认访问域名(Endpoint)的基础上,会新增如下两种传输加速Endpoint。
全球加速Endpoint:地址为MOS-accelerate.moduyuncs.com。传输加速接入点分布在全球各地,全球各地的Bucket均可以使用该域名进行传输加速。
非中国内地加速Endpoint:地址为MOS-accelerate-overseas.moduyuncs.com。传输加速接入点分布在除中国内地以外的各地域,仅在中国香港及海外各地域Bucket绑定未备案的域名做CNAME指向时使用。
通过MOSutil测试实际加速效果如下。
您可以通过MOS全球传输加速效果对比工具测试您本地访问全球各地数据中心时,开启传输加速与未开启传输加速的访问速度。
开启MOS传输加速步骤,请参见开启传输加速。开启MOS传输加速后,以全球加速Endpoint为例,您可以通过以下方式实现传输加速:
浏览器访问
通过浏览器访问时,将文件URL的Endpoint字段需替换为传输加速Endpoint,例如https://test.MOS-cn-shenzhen.moduyuncs.com/myphoto.jpg需改为https://test.MOS-accelerate.moduyuncs.com/myphoto.jpg。如果文件访问权限为私有,则还需要加上签名信息。
说明 如果您的存储空间已绑定自定义域名,且希望通过自定义域名访问MOS时实现传输加速, 您可以通过CNAME配置,将您的域名指向MOS加速域名。配置方式,请参见 绑定传输加速域名。
MOSutil
通过MOSutil访问时,您可以将配置文件内的Endpoint替换为传输加速Endpoint。配置方法,请参见MOSutil。
您也可以在使用MOSutil相关命令时,在命令行中增加-e
MOS-accelerate.moduyuncs.com。下图表示在cp上传场景中使用了传输加速Endpoint:
MOSbrowser
通过MOSbrowser访问时,按如下说明配置各项参数:
参数 | 说明 |
---|---|
Endpoint | 选择自定义,并填写传输加速Endpoint:https://MOS-accelerate.moduyuncs.com。 |
AccessKeyId、AccessKeySecret |
填写账号的AccessKey(AK)信息。获取AK的方式,请参见创建AccessKey。
注意 为保证数据安全,推荐您使用RAM用户的AK登录MOSbrowser。使用RAM用户登录之前, 需要为RAM用户配置moduyunMOSFullAccess、moduyunRAMFull Access以及moduyunSTSAssumeRoleAccess的权限。具体操作请参见权限管理。 |
预设MOS路径 | 指定访问某个Bucket或Bucket某个路径下资源的访问权限。预设MOS路径格式为MOS://bucketname/path。 例如授权访问存储空间examplebucket下文件夹examplefolder下的文件或子文件夹,则填写MOS://examplebucket/examplefolder/。 |
配置示例如下:
SDK
通过各语言SDK访问时,将Endpoint设置为传输加速Endpoint。以Java SDK的简单上传和简单下载为例:
简单上传
// 填写传输加速Endpoint。以全球加速Endpoint为例。
String endpoint = "https://MOS-accelerate.moduyuncs.com";
// 摩杜云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建MOSClient实例。
MOS MOSClient = new MOSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传文件。yourLocalFile由本地文件路径加文件名组成,例如/users/local/myfile.txt。
MOSClient.putObject("yourBucketName", "yourObjectName", new File("yourLocalFile"));
// 关闭MOSClient。
MOSClient.shutdown();
简单下载
// 填写传输加速Endpoint。以全球加速Endpoint为例。
String endpoint = "https://MOS-accelerate.moduyuncs.com";
// 摩杜云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 填写Bucket名称。
String bucketName = "yourBucketName";
// 填写不包含Bucket名称在内的Object完整路径,例如testfolder/exampleobject.txt。
String objectName = "yourObjectName";
// 创建MOSClient实例。
MOS MOSClient = new MOSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 下载Object到本地文件,并保存到指定的本地路径中。如果指定的本地文件存在会覆盖,不存在则新建。
// 如果yourLocalFile未包含文件路径,则下载后的文件默认保存到示例程序所属项目对应文件路径中。
MOSClient.getObject(new GetObjectRequest(bucketName, objectName), new File("yourLocalFile"));
// 关闭MOSClient。
MOSClient.shutdown();
传输加速开启及关闭操作会在30分钟内全网生效。
开启传输加速后必须使用MOS的传输加速域名才会提升访问速度。
若您工具中配置的Endpoint为传输加速Endpoint时,您只能操作已开启传输加速功能的Bucket。
开启传输加速功能后,MOS提供的其他Endpoint仍可正常使用。在不需要传输加速的场景中,您可以使用默认Endpoint以减少传输加速的费用。
为保证数据传输安全,传输加速后段加速逻辑会视情况选择使用HTTPS协议进行数据传输。所以,客户端使用HTTP协议通过传输加速域名访问MOS时,在MOS的访问日志中看到的访问协议可能是HTTPS。
传输加速是收费功能。费用详情,请参见传输加速费用。
传输加速与CDN加速有什么区别?
功能 | 原理 | 适用场景 |
---|---|---|
传输加速 | 通过智能调度的系统、优化的传输链路、 调优的协议栈与传输算法,并深度结合MOS 服务端的配套策略,提供的端到端的加速方案。 |
文件上传加速场景。 远距离的文件上传、下载场景。 大文件上传、下载场景。 动态更新文件、非热点文件的下载加速场景。 |
CDN加速 | 将MOS的Bucket作为源站, 将源内容缓存到边缘节点。 当客户读取数据时,会从最适 合的节点获取缓存文件,以提升下载速度。 | 静态热点文件的下载加速场景,即同一地区大量用户同时下载同一个静态文件的场景。 |
如何通过自定义域名使用传输加速服务?
您可以绑定自定义域名之后,将CNAME指向传输加速域名。详细步骤,请参见
绑定传输加速域名。
为什么使用传输加速Endpoint无法列举Bucket?
传输加速服务仅针对携带Bucket名称信息的三级域名(格式为https://BucketName.MOS-accelerate.moduyuncs.com)提供解析服务。而列举Bucket的请求域名中不携带Bucket名称信息,因此您无法使用传输加速Endpoint列举Bucket。建议您通过默认Endpoint列举目标地域的Bucket,例如https://MOS-cn-hangzhou.moduyuncs.com。
跨域资源共享CORS(CrMOS-Origin Resource Sharing)简称跨域访问, 是HTML5提供的标准跨域解决方案,允许Web应用服务器进行跨域访问控制,使得跨域数据传输得以安全进行。
跨域访问是浏览器出于安全考虑而设置的一个限制,即同源策略。当A、B两个网站属于不同域时,来自于A网站页面中的JavaScript代码访问B网站时,浏览器会拒绝该访问。
例如当运行在同一个浏览器上的不同来源,例如www.example.com和www.test.com请求同一跨域资源时,若www.example.com的请求先到达服务器,服务器将请求的资源带上Access-Control-Allow-Origin的Header,并返回给www.example.com的用户。此时www.test.com也发起了请求,浏览器会将缓存的上一次请求响应返回给用户,Header的内容和CORS的要求不匹配,导致www.test.com请求失败。
同源策略限制从一个源加载的文档或脚本与另一个源的资源进行交互的方式,是用于隔离潜在恶意文件的关键安全机制。同协议、同域名(或IP)、以及同端口视为同一个域。两个页面的协议、域名和端口(若指定了端口)相同,则视为同源。如下表给出了相对https://www.moduyun.com/org/test.html的同源检测示例:
URL | 访问是否成功 | 原因 |
---|---|---|
https://www.moduyun.com/org/other.html | 是 | 协议、域名、端口相同 |
https://www.moduyun.com/org/internal/page.html | 是 | 协议、域名、端口相同 |
https://www.moduyun.com/page.html | 否 | 协议不同(HTTPS) |
https://www.moduyun.com:22/dir/page.html | 否 | 端口不同(22) |
http://help.moduyun.com/dir/other.html | 否 | 域名不同 |
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK |
丰富、完整的各类语言SDK demo |
MOS支持根据需求灵活配置CORS规则,实现允许或者拒绝相应的跨域请求。CORS规则仅用来决定是否附加CORS相关的Header,是否拦截跨域请求由浏览器决定。详情请参见PutBucketCORS。
以下两种情况下需选中返回Vary: Origin头以避免本地缓存错乱。
说明 选中返回Vary: Origin头后,可能会造成浏览器访问次数或者CDN回源次数增加。
同时存在CORS和非CORS请求
例如实际请求中在< img>标签下发起非CORS请求,在fetch下发起CORS请求。
Origin头存在多种可能值
例如实际应用中指定允许的跨域请求来源Origin头为http://www.example.com以及https://www.example.org。
当用户的网站为www.example.com,后端使用了MOS。在网页中提供了使用JavaScript来实现上传功能,但是在该网页中,只能向www.example.com发送请求,向其他网站发送的请求都会被浏览器拒绝。这样将导致用户上传的数据必须从www.example.com中转。
如果设置了跨域访问的话,则可以直接上传文件到MOS而无需从www.example.com中转。具体实现如下:
1.CORS通过HTTP请求中附带Origin的Header来表明来源域。示例中Origin的Header为www.example.com。
2.服务器端接收到这个请求之后,会根据一定的规则判断是否允许该来源域的请求。如果允许,服务器在返回的响应中会附带上Access-Control-Allow-Origin这个Header,内容为www.example.com来表示允许此次跨域访问。如果服务器允许所有的跨域请求,将Access-Control-Allow-Origin的Header设置为星号(*)即可。
3.浏览器根据是否返回了对应的Header来决定该跨域请求是否成功,如果没有附加对应的Header,浏览器将会拦截该请求。
有关CORS配置详情,请参见 设置跨域访问。
CORS配置项常见错误
有关CORS配置项常见错误及排查方法,请参见MOS跨域资源共享(CORS)错误及排除。
报“No 'Access-Control-Allow-Origin'”错误
有关出现该错误的原因及解决方案,请参见MOS设置CORS规则以后报No 'Access-Control-Allow-Origin'错误的解决方法。
使用CDN域名访问MOS遇到跨域问题
如果您使用CDN域名访问MOS遇到跨域问题,需在CDN控制台配置跨域规则。详情请参见CDN如何配置跨域资源共享(CORS)。
发送跨域请求时报Response to preflight request doesn't pass access control check:
The value of the
'Access-Control-Allow-Origin' header in the response must not be the wildcard
'*' when the
request's credentials mode is 'include'.错误
建议您通过设置xhr.withCredentials = false;来解决此问题。
您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,如列举带有指定标签的Bucket、对拥有指定标签的Bucket设置访问权限等。
Bucket标签使用一组键值对(Key-Value)对标记存储空间,您可以通过Bucket标签标记不同用途的Bucket,并进行分类管理。
只有Bucket的拥有者及授权子账户才能为Bucket设置用户标签,否则返回403 Forbidden错误,错误码:AccessDenied。
最多可设置20对Bucket用户标签(Key-Value对)。
Key最大长度为64字节,不能以http://、https://、moduyun为前缀,且不能为空。
Value最大长度为128字节,可以为空。
Key和Value必须为UTF-8编码。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK Go SDK C++ SDK Node.js SDK .NET SDK |
丰富、完整的各类语言SDK demo |
添加Bucket标签后,您可以对拥有相同标签的Bucket进行批量管理,例如列举拥有相同标签的Bucket、授权RAM用户管理拥有相同标签的Bucket等。
列举所有带指定标签的Bucket
您可以在列举Bucket时仅列举带指定标签的Bucket,详情请参见如下SDK Demo:
Java SDK
Python SDK
Go SDK
授权RAM用户管理拥有指定标签的Bucket
当您的Bucket较多时,您可以用Bucket标签对您的Bucket进行分类,并通过RAM策略授权指定用户(UID为193248792425xxxx)可以管理拥有指定标签的Bucket。例如授权用户A可以列举所有拥有keytest=valuetest标签的Bucket,RAM策略如下:
{
"Version": "1",
"Statement": [
{
"Action": [
"MOS:ListBuckets"
],
"Resource": [
"acs:MOS:*:193248792425xxxx:*"
],
"Effect": "Allow",
"Condition": {
"StringEquals": {
"MOS:BucketTag/keytest": "valuetest"
}
}
}
]
}
当您不再需要保留某个存储空间(Bucket)时,可将其删除。
说明 有关删除存储空间的API的更多信息,请参见DeleteBucket。
已删除Bucket中所有的文件(Object)。删除少量文件的操作步骤,请参见删除文件。如果您的文件数量较多,建议结合生命周期规则进行批量删除。删除大量文件的操作步骤,请参见生命周期规则。
如果Bucket已开启版本控制,请确保删除Bucket内的所有当前版本和历史版本文件。删除所有版本文件的操作步骤,请参见版本控制。
已删除Bucket中因分片上传或断点续传产生的碎片(Part)。删除碎片的操作步骤,请参见管理碎片。
已删除Bucket中所有的Livechannel。删除Livechannel的操作步骤,请参见DeleteLiveChannel。
警告 存储空间删除后不可恢复,请谨慎操作。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
图形化工具MOSbrowser | 图形化工具,易操作 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK Android SDK iOS SDK Node.js SDK Ruby SDK |
丰富、完整的各类语言SDK demo |
无法删除Bucket怎么办?
Bucket无法删除的原因是Bucket不为空或者权限不足,请按如下方式进行排查:
Bucket不为空
Bucket不为空不允许删除,请确保Bucket中存储的文件(Object)、碎片(Part)以及Livechannel已经全部删除。
权限不足
Bucket为空,但是RAM用户权限不足。请按如下方式添加或修改权限:
没有MOS:DeleteBucket权限:如果您作为RAM用户无法删除Bucket,则请求拥有管理员权限的RAM用户在RAM
Policy为您添加MOS:DeleteBucket权限。
MOS:DeleteBucket授权效力为Deny:如果您在RAM
Policy中拥有MOS:DeleteBucket权限但仍然无法删除Bucket,则Bucket
Policy可能包含授权效力为Deny的MOS:DeleteBucket权限。您必须将Deny修改为Allow或者直接删除此Bucket
Policy,然后才能删除此Bucket。
删除Bucket后,无法再次创建同名Bucket?
删除Bucket后,需要等待半小时左右的时间才能再次创建同名的Bucket。
随着互联网业务的发展,越来越多的业务对于数据的吞吐量有了更高的要求。 为此,对象存储MOS推出加速器功能,可以缓存MOS中的热点文 件(Object),提供高性能、高吞吐量的数据访问服务。
MOS加速器适用于基因训练、机器学习、数据湖、大数据计算等需要大量带宽, 且数据重复读的场景。例如大数据计算+MOS场景中,读取数据需要的带宽可能会高 达数百Gbps~Tbps,普通存储空间的吞吐量往往无法轻松应对这种大带宽的读取需求。 您可以开启MOS加速器,将需要重复读取的数据缓存在加速器中。 当大数据计算向MOS加速器请求数据时,加速器根据空间大小提供1.6 Gbps/TB的带宽,可满足大数据计算的带宽要求。
极致吞吐能力
加速器拥有极致的吞吐能力,带宽随容量大小线性增长,能有效解决多种应用场景的读吞吐的挑战。
弹性伸缩
计算任务通常是周期性任务,每个任务所需资源存在差异。加速器可根据您的需求进行在线扩容或缩容,可有效避免资源浪费,降低您的使用成本。
存算分离
加速器可满足计算资源和存储资源分离。面对不同的计算任务,您无需再自建不同缓存进行匹配,满足多业务场景的吞吐加速。
数据一致
加速器提供了传统缓存方案不具备的数据一致性。当MOS上的文件被更新时,加速器能自动识别并缓存最新文件,以确保计算引擎读取的都是最新数据。
加速器创建完成后会拥有一个地域专属的加速域名。例如上海地域的加速域名 为http://MOS-cache-cn-shanghai-g.moduyuncs.com。当您与加速器在同一专有网络VPC时,您可以通过加速域名访问加速器内的资源,流程如下图所示:
流程说明如下:
写请求
客户端向加速域名发送的写请求会直接转发给MOS,流程与使用MOS默认域名一致。
读请求
客户端向加速域名发送的读请求会被转发给MOS加速器。
加速器在收到读请求后会在缓存空间内查找目标文件:
若缓存空间存在目标文件,则文件直接返回给客户端。
若缓存空间没有目标文件,加速器会向绑定的MOS请求目标文件。MOS在收到请求后,会将目标文件缓存到加速器中,加速器将文件返回给客户端。
对于未缓存的文件,加速器根据自身容量提供320 Mbps/TB的回源带宽。
您可以通过MOS控制台创建加速器。操作步骤,请参见
配置MOS加速器。
目前仅支持在华东2(上海)地域创建加速器。
加速器支持在线扩容和缩容。在线扩容约1分钟完成,在线缩容约1小时完成。
当加速器缓存已满后,MOS会根据缓存文件的热度将低热度的文件替换为高热度文件。
一个加速器可配置的Bucket数量无限制,每个Bucket最多可配置10条加速路径。
浏览器报403错误,具体如下:
OPTIONS http://bucket.MOS-cn-beijing.moduyuncs.com/
XMLHttpRequest cannot load http://bucket.MOS-cn-beijing.moduyuncs.com/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '{yourwebsiet}' is therefore not allowed access. The response had HTTP status code 403.
MOS报CORS请求不允许的错误,具体如下:
< Code>AccessForbidden< /Code>
< Message>CORSResponse: This CORS request is not allowed. This is usually because the evaluation of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS spec.< /Message>
跨域规则配置错误。
说明
CORS报错一般是站点类应用导致,浏览器中可以查看请求详情。例如Chrome,按F12打开开发者工具 ,在Network页签中查看相应元素。
MOS返回的错误可以通过抓包获取。如果使用Wireshark,筛选器可以指定为host
bucket-name.MOS-cn-beijing.moduyuncs.com。
按照以下步骤正确配置跨域规则。
1.登录 MOS管理控制台。,选择目标Bucket,然后选择权限管理 > 跨域设置。
2.在跨域规则配置页面,设置以下参数:
来源(AllowedOrigin):设置为*。
允许Methods:选中全部选项(GET、PUT、DELETE、POST、HEAD)。
允许Headers:设置为*。
暴露Headers:设置为指定值或者不填。
对象(Object)是MOS存储数据的基本单元,也被称为MOS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。
Object包含以下三种类型:
通过
简单上传
生成的Object类型为Normal。
通过
分片上传
生成的Object类型为Multipart。
通过
追加上传
生成的Object类型为Appendable,且仅支持在Appendable类型的Object后直接追加内容。
Object包含以下信息:
Key:Object的名称,可用于查询Object。
Data:您存储的数据,可由任意长度的字节组成。
Version ID:将Object上传至开启版本控制的存储空间(Bucket)后,MOS生成标识该对象的版本ID。
Object
Meta:Object元信息,是一组键值对,表示了Object的一些属性,例如最后修改时间、大小等信息。您也可以在元信息中存储一些自定义的信息。
针对存放在Bucket中Object的访问,MOS提供了多种权限控制策略。 例如基于资源的授权策略Bucket Policy和读写权限(ACL)、 基于用户的授权策略RAM Policy、通过STS临时授权访问MOS以 及通过防盗链对访问来源设置白名单。有关访问控制的更多信息,请参见 访问控制概述。
MOS资源(Bucket和Object)默认是私有读写权限。如果您希望其他人访问这些资源,必须进行授权。例如您网站上的图片和视频存储在MOS上,您可以通过以下两种方式授权第三方用户通过网站访问这些资源:
将资源的读写权限设置为公共读。详情请参见
设置Object读写权限。
对资源的访问URL进行签名操作。详情请参见
授权给第三方访问。
简单上传指的是使用MOS API中的PutObject方法上传单个文件(Object)。 简单上传适用于一次HTTP请求交互即可完成上传的场景,例如小文件(小于5 GB)的上传。
说明 简单上传的API接口的详细信息请参见PutObject。
操作方式 | 说明 |
---|---|
控制台 | Web应用程序,直观易用 |
图形化工具MOSbrowser | 图形化工具,易操作 |
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK Android SDK iOS SDK Node.js SDK Browser.js SDK Ruby SDK |
丰富、完整的各类语言SDK demo |
文件大小限制
简单上传的Object的大小不能超过5 GB。超过5 GB的Object上传请使用断点续传上传。
文件命名规则
使用UTF-8编码。
长度必须在1~1023字节之间。
不能以正斜线(/)或者反斜线(\)字符开头。
文件上传性能调优
如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),
可能会出现大量文件索引集中存储于存储空间中某个特定分区的情况,此时如果您的请求速
率过大,会导致请求速率下降。建议您在上传大量文件时,不要使用顺序前缀的文件名。将顺序
前缀改为随机性前缀的方法请参见MOS性能与扩展性最佳实践。
防止同名文件被覆盖
MOS的文件上传默认会覆盖同名文件, 为防止文件被意外覆盖,您可以通过以下方式保护您的文件:
开启版本控制功能
开启版本控制功能后,被覆盖的文件会以历史版本的形式保存下来。您可以随时恢复历史版本文件。详情请参见版本控制介绍。
在上传请求中携带禁止覆盖同名文件的参数
在上传请求的header中携带参数x-MOS-forbid-overwrite,并指定其值为true。
当您上传的文件在MOS中存在同名文件时,该文件会上传失败,并返回FileAlreadyExists错误。
当不携带此参数或此参数的值为false时,同名文件会被覆盖。详情请参见PutObject。
在使用简单上传的情况下,可以携带Object Meta信息对Object进 行描述,例如可以设定Content-Type等标准HTTP头,也可以设定自定义信息。详情请参见 设置文件元信息。
为了防止第三方未经授权往您的Bucket里上传数据,MOS提供了Bucket和Object级别的访问权限控制。详情请参见
访问控制。
为了授权给第三方上传,MOS还提供了账号级别的授权。详情请参见
授权给第三方上传。
在文件上传到MOS后,您可以通过上传回调来向指定的应用服务器发起回调请求,进行下一步操作。
如果上传的是图片,您还可以进行
图片处理。
如果上传是音频或者视频文件,您还可以进行
音视频转码。
MOS有哪些批量操作?
文件上传到MOS后如何获取访问地址?
MOS上传文件失败怎么办?
摩杜云MOS提供分片上传功能,可以将待上传的文件分成多个碎片(Part)分别上传, 上传完成之后再调用CompleteMultipartUpload接口将这些Part组合成一个Object。 若上传过程中出现网络错误导致上传失败,您还可以从最后一块成功上 传的Part开始继续上传,从而实现断点续传效果。
大文件加速上传
当文件大小超过5 GB时,使用分片上传可实现并行上传多个Part以加快上传速度。
网络环境较差
网络环境较差时,建议使用分片上传。当出现上传失败的时候,您仅需重传失败的Part。
流式上传
可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。
分片上传的基本流程如下图所示。
流程说明如下:
1.将待上传文件按照一定大小进行分片。
2.使用InitiateMultipartUpload接口初始化一个分片上传任务。
3.使用UploadPart接口上传分片。
文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定,所以您可以并发上传这些碎片。并发数并非越多越快,请结合自身网络状况和设备负载综合考虑。
若您希望终止上传任务,可调用AbortMultipartUpload接口,成功上传的Part会一并删除。
4.使用CompleteMultipartUpload接口将Part组合成一个Object。
限制项 | 规格 |
---|---|
文件大小 | 不超过48.8 TB |
Part数量 | 1~10, 000个 |
单个Part大小 | 最小值为100 KB,最大值为5 GB。最后一个Part的大小无限制。 |
单次ListParts请求返回的Part最大数量 | 1, 000个 |
单次ListMultipartUploads请求返回的Multipart Upload事件最大数量 | 1, 000个 |
文件上传性能调优
如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中某个特定分区的情况。此时如果您的请求速率过大,会导致请求速率下降。建议您在上传大量文件时,不要使用顺序前缀的文件名。更多信息,请参见MOS性能与扩展性最佳实践。
文件覆盖
上传同名文件会覆盖MOS中已有文件。您可以通过以下方式防止文件被意外覆盖:
开启版本控制功能
开启版本控制功能后,被覆盖的文件会以历史版本的形式保存下来,您可以随时恢复历史版本文件。更多信息,请参见版本控制介绍。
在上传请求中携带禁止覆盖同名文件的参数
在上传请求的header中携带x-MOS-forbid-overwrite参数,并指定其值为true。当您上传的文件在MOS中存在同名文件时,该文件会上传失败,并返回FileAlreadyExists错误。更多信息,请参见InitiateMultipartUpload。
删除Part
分片上传过程被中断后,已上传的Part会一直保存在Bucket中。若您不再需要这些Part,请通过以下方式删除,以免产生额外存储费用。
手动删除Part,请参见管理碎片。
通过生命周期规则自动删除Part,请参见设置生命周期规则。
操作方式 | 说明 |
---|---|
命令行工具MOSutil | 命令行工具,性能好 |
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK Node.js SDK Android SDK iOS SDK Browser.js SDK |
丰富、完整的各类语言SDK demo |
在使用分片上传的过程中,如果因意外导致上传失败,可以在重启的时 候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任 务和每个分片上传任务中上传成功的Part列表。然后从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。
操作方式 | 说明 |
---|---|
Java SDK Python SDK Go SDK C SDK .NET SDK Node.js SDK Android SDK iOS SDK |
丰富、完整的各类语言SDK demo |
摩杜云MOS在上传文件完成的时候可以提供回调(Callback)给应用服务器。 您只需要在发送给MOS的请求中携带相应的Callback参数,即能实现回调。
说明
Callback的MOS API接口详细信息请参见Callback。
支持CallBack的API接口有:PutObject、PostObject、CompleteMultipartUpload。
上传回调的一种典型应用场景是与授权第三方上传同时使用,客户端在上传文件到MOS的时候指定到服务器端的回调,当客户端的上传任务在MOS执行完毕之后,MOS会向应用服务器端主动发起HTTP请求进行回调,这样服务器端就可以及时得到上传完成的通知从而可以完成诸如数据库修改等操作,当回调请求接收到服务器端的响应之后MOS才会将状态返回给客户端。
MOS在向应用服务器发送POST回调请求的时候,会在POST请求的Body中包含一些参数来携带特定的信息。这些参数有两种,一种是系统定义的参数,如Bucket名称、Object名称等;另外一种是自定义的参数,您可以在发送带回调的请求给MOS的时候根据应用逻辑的需要指定这些参数。您可以通过使用自定义参数来携带一些和应用逻辑相关的信息,比如发起请求的用户id等。具体使用自定义参数的方法可以参考Callback。
通过适当的使用上传回调机制,能很好的降低客户端的逻辑复杂度和网络消耗。流程如下:
说明 目前只有简单上传(PutObject)、表单上传(PostObject)、分片上传完成(Complete Multipart Upload)操作支持上传回调功能。
操作方式 | 说明 |
---|---|
Java SDK Python SDK PHP SDK C SDK .NET SDK |
丰富、完整的各类语言SDK demo |
本文介绍如何授权第三方直接上传文件到MOS而不通过服务器端转发。
在典型的C/S系统架构中,服务器端负责接收并处理客户端的请求。那么考虑一个使用MOS作为后端的存储服务,客户端将要上传的文件发送给服务器端,然后服务器端再将数据转发上传到MOS。在这个过程中,一份数据需要在网络上传输两次,一次从客户端到服务器端,一次从服务器端到MOS。当访问量很大的时候,服务器端需要有足够的带宽资源来满足多个客户端的同时上传的需求,这对架构的伸缩性提出了挑战。
为了解决这种场景带来的挑战,MOS提供了授权给第三方上传的功能。使用这个功能,每个客户端可以直接将文件上传到MOS而不是通过服务器端转发,节省了自建服务器的成本,并且充分利用了MOS的海量数据处理能力,无需考虑带宽和并发限制等,可以让客户专心于业务处理。
目前授权上传有两种实现方式:URL签名和临时访问凭证。
URL签名即在请求的URL中带MOS AccessKeyId和Signature字段, 这样用户就可以直接使用该URL来进行上传。每个URL签名中携带有过期时间以保证安全。
操作方法
操作方式 | 说明 |
---|---|
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK |
丰富、完整的各类语言SDK demo |
更多详情请参考在URL中包含签名。
临时访问凭证是通过摩杜云Security Token Service(STS)来实现授权的一种方式。摩杜云 STS
是为云计算用户提供临时访问令牌的Web服务。通过
STS,您可以为第三方应用或子用户(即用户身份由您自己管理的用户)颁发一个自定义时效和权限的访问凭证。
操作方法
操作方式 | 说明 |
---|---|
Java SDK Python SDK PHP SDK Go SDK C SDK .NET SDK Android SDK iOS SDK |
丰富、完整的各类语言SDK demo |
操作示例请参考STS临时授权访问MOS。
表单上传是指使用MOS API中的PostObject请求来完成Object的上传,上传的Object不能超过5GB。
说明 表单上传的API接口详细信息请参见PostObject。
表单上传非常适合嵌入在HTML网页中来上传Object,比较常见的场景是网站应用,以招聘网站为例:
不使用表单上传 | 表单上传 | |
---|---|---|
流程对比 |
1.网站用户上传简历。 2.网站服务器回应上传页面。 3.简历被上传到网站服务器。 4.网站服务器再将简历上传到MOS。 |
1.网站用户上传简历。 2.网站服务器回应上传页面。 3.简历上传到MOS。 |
从流程上来说,使用表单上传,少了一步转发流程,更加方便。
从架构上来说,原来的上传都统一走网站服务器,上传量过大时,需要扩容网
站服务器。采用表单上传后,直接从客户端上传数据到MOS,上传量过大时,压力都在MOS上,由MOS来保障服务质量。
上传的Object的大小不能超过5GB。
文件的命名规则如下:
使用UTF-8编码。
长度必须在1–1023字节之间。
不能以正斜线(/)或者反斜线(\)字符开头。
如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中某个特定分区的情况,此时如果您的请求速率过大,会导致请求速率下降。建议您在上传大量文件时,不要使用顺序前缀的文件名。将顺序前缀改为随机性前缀的方法请参见MOS性能与扩展性最佳实践。
MOS的文件上传默认会覆盖同名文件, 为防止文件被意外覆盖,您可以通过以下方式保护您的文件。
开启版本控制功能
开启版本控制功能后,被删除或覆盖的文件会以历史版本的形式保存下来。您可以随时恢复历史版本文件。详情请参见版本控制介绍。
在上传请求中携带禁止覆盖同名文件的参数
在上传请求的表单域中携带x-MOS-forbid-overwrite,并指定其值为true。当您上传的文件在MOS中存在同名文件时,该文件会上传失败,并返回FileAlreadyExists错误。更多详情请参见PostObject。
当不携带此参数或此参数的值为false时,同名文件会被覆盖。
1.构建一个Post Policy。
Post请求的Policy表单域用于验证请求的合法性。例如可以指定上传的大小,可以指定上传的Object名称等,上传成功后客户端跳转到的URL,上传成功后客户端收到的状态码。具体请参见Post
Policy。
以Python代码为例子,Policy是json格式的字符串。
# 设置网站用户能上传文件的过期时间为2115-01-27T10:56:19Z(这里为了测试成功写的过期时间很长,实际使用中不建议这样设置),文件大小不超过104857600字节
policy="{\"expiration\":\"2115-01-27T10:56:19Z\",\"conditions\":[[\"content-length-range\", 0, 104857600]]}"
2.将Policy字符串进行base64编码。
3.用MOS的AccessKeySecret对base64编码后的Policy进行签名。
4.构建上传的HTML页面。
5.打开HTML页面,选择文件上传。
完整Python代码示例:
#coding=utf8
import md5
import hashlib
import base64
import hmac
from optparse import OptionParser
def convert_base64(input):
return base64.b64encode(input)
def get_sign_policy(key, policy):
return base64.b64encode(hmac.new(key, policy, hashlib.sha1).digest())
def get_form(bucket, endpoint, access_key_id, access_key_secret, out):
#1 构建一个Post Policy
policy="{\"expiration\":\"2115-01-27T10:56:19Z\",\"conditions\":[[\"content-length-range\", 0, 1048576]]}"
print("policy: %s" % policy)
#2 将Policy字符串进行base64编码
base64policy = convert_base64(policy)
print("base64_encode_policy: %s" % base64policy)
#3 用MOS的AccessKeySecret对编码后的Policy进行签名
signature = get_sign_policy(access_key_secret, base64policy)
#4 构建上传的HTML页面
form = '''
< html>
< meta http-equiv=content-type content="text/html; charset=UTF-8">
< head>< title>MOS表单上传(PostObject)< /title>< /head>
< body>
< form action="http://%s.%s" method="post" enctype="multipart/form-data">
< input type="text" name="MOSAccessKeyId" value="%s">
< input type="text" name="policy" value="%s">
< input type="text" name="Signature" value="%s">
< input type="text" name="key" value="upload/">
< input type="text" name="success_action_redirect" value="http://MOS.moduyun.com">
< input type="text" name="success_action_status" value="201">
< input name="file" type="file" id="file">
< input name="submit" value="Upload" type="submit">
< /form>
< /body>
< /html>
''' % (bucket, endpoint, access_key_id, base64policy, signature)
f = open(out, "wb")
f.write(form)
f.close()
print("form is saved into %s" % out)
if __name__ == '__main__':
parser = OptionParser()
parser.add_option("", "--bucket", dest="bucket", help="specify ")
parser.add_option("", "--endpoint", dest="endpoint", help="specify")
parser.add_option("", "--id", dest="id", help="access_key_id")
parser.add_option("", "--key", dest="key", help="access_key_secret")
parser.add_option("", "--out", dest="out", help="out put form")
(opts, args) = parser.parse_args()
if opts.bucket and opts.endpoint and opts.id and opts.key and opts.out:
get_form(opts.bucket, opts.endpoint, opts.id, opts.key, opts.out)
else:
print "python %s --bucket=your-bucket --endpoint=MOS-cn-hangzhou.moduyuncs.com --id