典名科技本文主要介绍阿里云对象存储OSS如何快速入门,开始使用阿里云OSS、开通OSS服务、创建存储空间、上传文件、下载文件、删除文件、删除存储空间。希望能帮助到您。
开始使用阿里云OSS
阿里云对象存储OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音视频在内的各种数据文件。
初次使用阿里云OSS,请您先了解阿里云OSS常见问题 和 阿里云OSS使用限制。
阿里云OSS将数据文件以对象(Object)的形式上传到存储空间(Bucket)中。您可以进行以下操作:
- 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。
- 通过获取已上传文件的地址进行文件的分享和下载。
- 通过修改存储空间或文件的读写权限(ACL)来设置访问权限。
- 通过阿里云管理控制台、各种便捷工具以及丰富的SDK包执行基本和高级OSS操作。
快速开始
OSS的基本操作流程如下:- 开通OSS服务
- 创建存储空间
- 上传对象
- 下载对象
- 删除文件
- 删除存储空间
使用控制台
您可以通过OSS控制台执行OSS的基本和高级操作,详情请参见OSS控制台用户指南。
观看以下视频快速了解如何通过OSS控制台上传和下载文件。
使用图形化管理工具ossbrowser
ossbrowser是图形化的OSS数据管理工具,支持Windows、Linux、Mac平台。使用ossbrowser,您可以通过图形化界面方便直观地浏览文件、上传下载文件和文件夹(目录)、断点续传、图形化Policy授权等操作。因为ossbrowser是桌面式图形化工具,所以传输速度和性能不如ossutil。详情请参见ossbrowser快速开始。
使用命令行管理工具ossutil
ossutil是以命令行方式管理OSS数据的工具,支持Windows、Linux、Mac平台。ossutil提供方便、简洁、丰富的Bucket和Object管理命令,操作性能好,可并发上传。支持文件和文件夹(目录)上传下载、断点续传等。详情请参见ossutil快速开始。
使用API和SDK
OSS提供Java、Python、PHP、Go等多种语言的API和SDK包,方便您快速进行二次开发,详情请参见OSS SDK示例 。OSS各接口的详细信息请参见 OSS API文档。基于OSS的文件系统管理
OSS中同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地文件夹和磁盘那样来使用OSS存储服务,可以通过配置云存储网关来实现。通过云存储网关提供的NFS、SMB(CIFS)、iSCSI协议,OSS的存储资源会以Bucket为基础映射成本地文件夹或者磁盘。您可以通过文件读写操作访问OSS资源,无缝衔接基于POSIX和块访问协议的应用,降低应用改造和学习成本。详情请参见配置云存储网关。
开通OSS服务
如何开通 OSS 服务。
前提条件
在使用阿里云 OSS 服务之前,请确保您已经注册了阿里云账号并完成实名认证。如果您还没有创建阿里云账号,系统会在您开通 OSS 时提示您注册账号。
操作步骤
- 登录阿里云官网。
- 将鼠标移至产品,单击对象存储 OSS,打开 OSS 产品详情页面。
- 在 OSS 产品详情页,单击立即开通。
- 开通服务后,在 OSS 产品详情页单击管理控制台直接进入 OSS 管理控制台界面。
您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的对象存储 OSS 菜单进入 OSS 管理控制台界面。
注意 开通 OSS 服务后,默认的计费方式是按量付费。如果想降低 OSS 费用,建议您购买资源包。
创建存储空间
开通阿里云OSS服务后,您需要首先创建存储空间(Bucket)来存储文件。
使用OSS管理控制台
您可以根据以下步骤,使用OSS管理控制台创建存储空间。
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击创建Bucket。
您也可以单击概览,之后单击右侧的创建Bucket。
- 在创建Bucket页面配置Bucket参数。
参数 | 描述 |
---|
Bucket名称 | Bucket的名称。Bucket创建后,无法更改名称。命名规则如下:- 所选定的存储空间名称在阿里云OSS的所有现有存储空间名称中必须具有唯一性。
- 只能包括小写字母、数字和短划线(-)。
- 必须以小写字母或者数字开头和结尾。
- 长度必须在3~63字节之间。
|
区域 | Bucket的数据中心。Bucket创建后,无法更换地域。如需要通过ECS内网访问OSS,需要选择与您ECS相同的地域。更多信息请参见OSS访问域名使用规则。 |
存储类型 | Bucket的存储类型。- 标准存储:提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问。适用于各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。
- 低频访问:提供高持久性、较低存储成本的对象存储服务。有最低存储时间(30天)和最小计量单位(64 KB)要求。支持数据实时访问,访问数据时会产生数据取回费用,适用于较低访问频率(平均每月访问频率1到2次)的业务场景。
- 归档存储:提供高持久性、极低存储成本的对象存储服务。有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。适用于数据长期保存的业务场景,例如档案数据、医疗影像、科学资料、影视素材等。
- 冷归档:提供高持久性的对象存储服务,费用在四种存储类型最低。有最低存储时间(180天)和最小计量单位(64 KB)要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。适用于需要超长时间存放的极冷数据,例如因合规要求需要长期留存的数据、大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等业务场景。
说明 冷归档存储类型已在华北2(北京)地域邀测,请期待功能正式发布。
更多详情请参见存储类型介绍。 |
同城冗余存储 | 对于华南1(深圳)、华北2(北京)、华东1(杭州)、华东2(上海)、新加坡地域,可选择是否开启同城冗余存储。- 启用:开启同城冗余存储属性后,OSS将用户的数据以冗余的方式存储在同一个区域(Region)的3个可用区(AZ)中。如果Bucket选择的是标准存储,则该Bucket内的文件默认为标准存储(同城冗余)。详情请参见同城冗余存储。
注意 同城冗余存储的费用较高,且开启后不支持关闭,请谨慎操作。 - 关闭:不开启同城冗余属性,存储在该Bucket内的文件冗余类型为本地冗余。如果Bucket选择的是标准存储,则该Bucket内的文件默认为标准存储(本地冗余)。
|
版本控制 | 选择是否开通版本控制功能。- 开通:开通Bucket版本控制功能后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。当您在错误覆盖或者删除Object后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。更多详情请参见版本控制介绍。
- 不开通:不开通版本控制功能。
注意 除日本(东京)外,其他地域均已支持版本控制。 |
读写权限 | 选择Bucket的读写权限。- 私有(private):只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。
- 公共读(public-read):只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。
警告 互联网上任何用户都可以对该Bucket内文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。 - 公共读写(public-read-write):任何人(包括匿名访问者)都可以对该存储空间内文件进行读写操作。
警告 互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。
|
服务端加密 | 选择是否增加服务端加密设置。- 服务端加密方式:选择Object的加密方式。
- 无:不启用服务器端加密。
- OSS完全托管:使用OSS托管的密钥进行加密。OSS会为每个Object使用不同的密钥进行加密,作为额外的保护,OSS会使用定期轮转的主密钥对加密密钥本身进行加密。
- KMS:使用KMS默认托管的CMK或指定CMK ID进行加解密操作。KMS加密详情请参见使用KMS托管密钥进行加解密。
注意- 使用KMS加密方式前,需要开通KMS服务,详情请参见开通KMS服务。
- 使用KMS密钥功能时会产生少量的KMS密钥API调用费用,费用详情请参见KMS计费标准。
- 加密算法:可选择AES256或SM4加密算法。
- 加密密钥:服务端加密方式选择KMS时,可配置此项。参数说明如下:
- alias/acs/oss:使用默认托管的CMK生成不同的密钥来加密不同的Object,并且在Object被下载时自动解密。
- CMK ID:使用指定的CMK生成不同的密钥来加密不同的Object,并将加密Object的CMK ID记录到Object的元信息中,具有解密权限的用户下载Object时会自动解密。选择指定的CMK ID前,您需在KMS管理控制台创建一个与Bucket相同地域的普通密钥或外部密钥。
|
实时日志查询 | 选择是否开通OSS实时日志查询。- 开通:开通OSS实时日志查询。默认免费提供最近7天内的访问日志实时查询。用户可在控制台上,可视化地实时查询和分析OSS访问日志。更多信息可参考实时日志查询。
- 不开通:不开通实时日志查询功能。
|
定时备份 | 选择是否创建定时备份计划,使用混合云备份功能备份您的OSS数据。- 开通:选择后,OSS将创建一条每天备份一次、备份文件保存一周的备份计划,您可以单击,查看已创建的计划。
- 不开通:不创建定时备份计划。
注意 如果混合云备份HBR功能未开通,或未授权HBR访问OSS,定时备份计划会创建失败。更多信息请参见定时备份。 |
- 单击确定。
使用命令行工具ossutil
您可以使用OSS命令行工具ossutil创建存储空间,详情请参见创建存储空间。
使用API和SDK
OSS提供API接口和多种语言的SDK包,方便您快速进行二次开发。详情请参见:- API接口:PutBucket
- Java SDK:创建存储空间
- Python SDK:创建存储空间
- PHP SDK:创建存储空间
- Go SDK:创建存储空间
- C SDK:创建存储空间
更多语言的SDK示例请参见简介。
上传文件
创建了存储空间(Bucket)之后,您可以上传任何类型的文件(Object)到存储空间中。
前提条件
已创建了存储空间。详情请参见创建存储空间。使用OSS管理控制台
您可以根据以下步骤,使用OSS管理控制台将您的文件上传至OSS。
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击目标Bucket名称。
- 单击。
- 在上传文件页面,设置上传文件的参数。
参数 | 说明 |
---|
上传到 | 设置文件上传到OSS后的存储路径。- 当前目录:将文件上传到当前目录。
- 指定目录:将文件上传到指定目录,您需要输入目录名称。若输入的目录不存在,OSS将自动创建对应的文件夹并将文件上传到该文件夹中。
|
文件ACL | 选择文件的读写权限,默认为继承Bucket。- 继承Bucket:文件的读写权限按Bucket的读写权限为准。
- 私有:对文件的所有访问操作需要进行身份验证。
- 公共读:可以对文件进行匿名读,对文件写操作需要进行身份验证。
- 公共读写:所有人都可以对文件进行读写操作。
关于文件ACL的更多信息请参见Object ACL。 |
上传文件 | 将需要上传的一个或多个文件拖拽到此区域,或单击直接上传,选择一个或多个要上传的文件。
注意- 如果上传的文件与存储空间中已有的文件重名,则会覆盖已有文件。
- 使用拖拽方式上传文件夹时,OSS会保留文件夹内的所有文件和子文件夹。
- 文件上传过程中,请勿刷新或关闭页面,否则上传任务会被中断且列表会被清空。
|
- 在上传任务页面等待任务完成,之后关闭对话框。
使用图形化管理工具ossbrowser
您可使用OSS图形化管理工具ossbrowser将您的文件上传至OSS,详情请参见快速开始。
使用命令行工具ossutil
您可以使用OSS命令行工具ossutil将您的文件上传至OSS,详情请参见上传文件。
使用API和SDK
OSS提供多种语言的API和SDK包,方便您快速进行二次开发。详情请参见:- API接口:
- 简单上传:PutObject
- 追加上传:AppendObject
- 分片上传:UploadPart
- SDK参考
- Java SDK:上传文件
- Python SDK:上传文件
- Go SDK:上传文件
- C++ SDK:上传文件
- C SDK:上传文件
- PHP SDK:上传文件
- Node.js SDK:上传文件
- Browser.js SDK:上传文件
- Android SDK:上传文件
- iOS SDK:上传文件
注意事项
- 通过控制台上传、简单上传、表单上传、追加上传的文件大小不能超过5 GB,通过分片上传方式上传的文件大小不能超过48.8 TB。详情请参见使用限制。
- 如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中某个特定分区的情况,此时如果您的请求速率过大,会导致请求速率下降。建议您在上传大量文件时,不要使用顺序前缀的文件名。将顺序前缀改为随机性前缀的方法请参见OSS性能与扩展性最佳实践。
后续步骤
- 如果上传的是图片,您还可以进行图片处理。
- 如果上传是音频或者视频文件,您还可以进行媒体处理。
- 在文件上传到OSS上后,您可以通过上传回调来向指定的应用服务器发起回调请求,进行下一步操作。
- 您也可以在需要的时候,将已上传至OSS的文件下载到本地。
下载文件
如何通过对象存储OSS控制台下载存储空间(Bucket)中的文件(Object)。
前提条件
文件已上传到存储空间中。详情请参见上传文件。
使用OSS管理控制台
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击目标Bucket名称。
- 单击文件管理页签,您可以进行以下操作:
使用场景 | 操作方法 | 说明 |
---|
批量下载文件 | 选中一个或多个文件,单击。 | 通过OSS控制台可一次批量下载最多100个文件。 |
下载单个文件 | 请使用以下方式下载单个文件:- 单击目标文件右侧的。
- 单击目标文件的文件名或其右侧的详情,在弹出的详情对话框中单击下载。
| 无 |
预览文件 | 单击目标文件的文件名或其右侧的详情。若您的浏览器支持预览该格式的文件,在弹出的详情对话框可以预览文件。 | 无 |
分享文件 | 单击目标文件的文件名或其右侧的详情,在弹出的详情对话框中单击复制文件URL,之后将复制的文件URL发送给对方即可。 文件URL可以用来下载或预览文件。 | - 如果您要分享的是私有文件,则在获取文件URL时还需要设置链接有效时间,默认的链接有效时间为3600秒(1小时),最大值为32400秒(9小时)。如果您希望获取更长时效的文件URL,建议使用ossutil、ossbrowser或OSS SDK。
- 当您的存储空间已绑定自有域名时,您可以在文件详情对话框的自有域名栏,选择已绑定的自有域名或不使用自有域名生成不同的文件URL。绑定自有域名的操作步骤请参见绑定自定义域名。
- 对于网页文件(文件扩展名为HTM、HTML、JSP、PLG、HTX、STM),在未修改文件HTTP头的情况下,通过浏览器使用OSS默认域名生成的文件URL访问时会直接下载;使用自有域名生成的文件URL访问时,可以预览文件内容。
- 对于图片文件(未修改文件HTTP头的情况下):
- 若您的Bucket是2019年9月23日前创建的,使用OSS默认访问域名或自有域名生成的文件URL从浏览器访问时可以预览文件内容。
- 若您的Bucket是2019年9月23日后创建的,使用OSS默认域名生成的文件URL从浏览器访问时会以附件形式下载;使用自有域名生成的文件URL访问时,可以预览文件内容。
注意 因浏览器对于部分图片格式不支持预览,可能会出现直接下载的情况。对于此类问题,您只需要在浏览器上安装支持预览对应格式文件的插件即可。 - 对于其他类型的文件,通过文件URL访问时会以附件形式下载。
说明 若您希望预览更多类型的文件,请使用 智能媒体管理(IMM)。
|
使用图形化管理工具ossbrowser
您可使用OSS图形化管理工具ossbrowser快速下载您需要的文件,详情请参见ossbrowser快速开始。
使用命令行工具ossutil
您可以使用OSS命令行工具ossutil快速下载您需要的文件,详情请参见上传、下载、拷贝文件命令cp。
使用 API/SDK
OSS提供多种语言的API/SDK包,方便您快速进行二次开发。详情请参见:- API接口:GetObject
- Java SDK:下载文件
- Python SDK:下载文件
- PHP SDK:下载文件
- Go SDK:下载文件
- C SDK:下载文件
更多语言的SDK示例请参见 OSS SDK文档。
删除文件
如果您存储空间(Bucket)内的文件不需要继续存储,请将其删除,以免继续产生存储费用。
背景信息
您可以通过OSS控制台删除单个文件或批量删除文件。通过控制台批量删除文件个数上限为100。如果想更灵活的选择删除的文件,或实现更大批量的删除,请参见开发指南中的删除文件。使用OSS管理控制台
您可以根据以下步骤,使用OSS管理控制台快速删除不需要的文件。
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击目标Bucket名称。
- 单击文件管理。
- 选择一个或多个文件,选择。
您也可以选择目标文件右侧的来删除单个文件。
- 在删除文件对话框中,单击确定。
使用图形化管理工具ossbrowser
您可使用OSS图形化管理工具ossbrowser快速删除不需要的文件,详情请参见快速开始。
使用命令行工具ossutil
您可以使用OSS命令行工具ossutil快速删除不需要的文件,详情请参见删除文件。
使用API和SDK
OSS提供多种语言的API和SDK包,方便您快速进行二次开发。详情请参见:- API接口:DeleteObject
- Java SDK:删除文件
- Python SDK:删除文件
- PHP SDK:删除文件
- Go SDK:删除文件
- C SDK:删除文件
更多语言的SDK示例请参见OSS SDK文档。
删除存储空间
如果您不再需要存储空间(Bucket),请将其删除,以免产生额外费用。
前提条件
- 已删除存储空间中所有的文件(Object)。删除文件操作,请参见删除文件。如果您的文件非常多,推荐使用生命周期规则。
- 已删除存储空间中因分片上传或断点续传产生的碎片(Part)。删除碎片的操作,请参见管理碎片。
- 已删除存储空间中所有的Livechannel。关于Livechannel的信息,请参见RTMP推流上传。
使用OSS管理控制台
您可以根据以下步骤,使用OSS管理控制台删除存储空间。
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击目标Bucket名称。
- 单击。
- 单击删除Bucket,在弹出的对话框中,单击确定。
使用图形化管理工具ossbrowser
您可以使用OSS图形化管理工具ossbrowser删除存储空间。
使用命令行工具ossutil
您可以使用OSS命令行工具ossutil删除存储空间。
OSS提供多种语言的API和SDK包,方便您快速进行二次开发。