什么是OBS存储

对象存储服务简介

对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。

OBS系统和单个桶都没有总数据容量和对象/文件数量的限制,为用户提供了超大存储容量的能力,适合存放任意类型的文件,适合普通用户、网站、企业和开发者使用。OBS是一项面向Internet访问的服务,提供了基于HTTP/HTTPS协议的Web服务接口,用户可以随时随地连接到Internet的电脑上,通过OBS管理控制台或各种OBS工具访问和管理存储在OBS中的数据。此外,OBS支持SDK和OBS API接口,可使用户方便管理自己存储在OBS上的数据,以及开发多种类型的上层业务应用。

华为云在全球多区域部署了OBS基础设施,具备高度的可扩展性和可靠性,用户可根据自身需要指定区域使用OBS,由此获得更快的访问速度和实惠的服务价格。

产品架构

对象存储服务OBS的基本组成是对象

桶是OBS中存储对象的容器,每个桶都有自己的存储类别、访问权限、所属区域等属性,用户在互联网上通过桶的访问域名来定位桶。

对象是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息的集合体,包括Key、Metadata、Data三部分:

1、Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。

2、Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元数据以键值对(Key-Value)的形式被上传到OBS中。

①系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Content-length,Last-modify,ETag等。

②用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。

3、Data:数据,即文件的数据内容。

华为云针对OBS提供的REST API进行了二次开发,为您提供了控制台、SDK和各类工具,方便您在不同的场景下轻松访问OBS桶以及桶中的对象。当然您也可以利用OBS提供的SDK和OBS API,根据您业务的实际情况自行开发,以满足不同场景的海量数据存储诉求。

存储类别

OBS提供了四种存储类别:标准存储、低频访问存储、归档存储、深度归档存储(受限公测中),从而满足客户业务对存储性能、成本的不同诉求。

1、标准存储访问时延低和吞吐量高,因而适用于有大量热点文件(平均一个月多次)或小文件(小于1MB),且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。

2、低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。与标准存储相比,低频访问存储有相同的数据持久性、吞吐量以及访问时延,且成本较低,但是可用性略低于标准存储。

3、归档存储适用于很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等场景。归档存储安全、持久且成本极低,可以用来替代磁带库。为了保持成本低廉,数据取回时间可能长达数分钟到数小时不等。

4、深度归档存储(受限公测)适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据取回时间将更长,一般为数小时。

上传对象时,对象的存储类别默认继承桶的存储类别。您也可以重新指定对象的存储类别。

修改桶的存储类别,桶内已有对象的存储类别不会修改,新上传对象时的默认对象存储类别随之修改。

如何访问对象存储服务

对象存储服务提供了多种资源管理工具,您可以选择表2中的任意一种方式访问并管理对象存储服务上的资源。

直播OBS

如何使用OBS直播?

说明:使用OBS直播时,不能再从主播链接进入直播页面开始直播。

步骤如下:

1、直播软件OBS下载。

选择对应的操作系统即可下载,下载后直接安装即可。

2、配置OBS。

a、打开OBS studio软件 > 添加视频捕获设备,弹出页面中单击“确定”,添加成功。

b、设置“视频捕获设备”的属性,如无特殊需求可按照默认属性,单击“确定”。

c、在主界面单击“文件”>“设置”,在设置弹窗中单击“推流”,服务选择“自定义”。

d、获取推流地址:登录WeLink客户端,单击“直播 > 对应直播间 > 进入直播详情 > 更多”,复制推流地址。

e、粘贴推流地址到OBS设置弹窗,其中服务器地址为:rtmp://publish.myun.tv/live/;串流密钥为:rtmp://publish.myun.tv/live/后的一长串字符。

3、发起直播。

填写完成后,点击OBS软件右下角的“开始推流”,即可开始进行直播。

4、观看直播。

配置完成后,用户点开观众链接或者在WeLink中即可观看直播。

OBS存储功能概览

在使用对象存储服务OBS之前,建议您先了解对象存储服务OBS的基本概念,以便更好地理解对象存储服务OBS提供的各项功能。

  • OBS存储功能名称-存储类别

    OBS提供了标准存储、低频访问存储、归档存储、深度归档存储(受限公测中)四种存储类别,满足不同场景下客户对存储性能和成本的不同诉求。

    OBS提供了标准存储、低频访问存储、归档存储、深度归档存储(受限公测中)四种存储类别,满足不同场景下客户对存储性能和成本的不同诉求。

  • OBS存储功能名称-桶管理

    桶是OBS中存储对象的容器。OBS提供创建、列举、搜索、查看、删除等基本功能,帮助您便捷的进行桶管理。

    桶是OBS中存储对象的容器。OBS提供创建、列举、搜索、查看、删除等基本功能,帮助您便捷的进行桶管理。

  • OBS存储功能名称-对象管理

    对象是OBS中数据存储的基本单位。OBS提供上传、下载、列举、搜索、断点续传、多段操作等基本功能,满足您各个场景的对象管理需求。

    对象是OBS中数据存储的基本单位。OBS提供上传、下载、列举、搜索、断点续传、多段操作等基本功能,满足您各个场景的对象管理需求。

  • OBS存储功能名称-权限管理

    OBS通过IAM权限、桶/对象策略和ACL三种方式配合进行权限管理。您可以通过IAM自定义策略授予IAM用户细粒度的OBS权限,也可以对桶和对象设置不同的策略及ACL来控制桶和对象的读写权限。

    OBS通过IAM权限、桶/对象策略和ACL三种方式配合进行权限管理。您可以通过IAM自定义策略授予IAM用户细粒度的OBS权限,也可以对桶和对象设置不同的策略及ACL来控制桶和对象的读写权限。

  • OBS存储功能名称-服务端加密

    您可以将数据加密后存储到OBS中,提高数据的安全性。OBS提供SSE-KMS和SSE-C两种服务端加密方式。

    您可以将数据加密后存储到OBS中,提高数据的安全性。OBS提供SSE-KMS和SSE-C两种服务端加密方式。

  • OBS存储功能名称-生命周期管理

    您可以通过生命周期规则来管理对象的生命周期,例如定期将桶中的对象删除或者转换对象的存储类别。

    您可以通过生命周期规则来管理对象的生命周期,例如定期将桶中的对象删除或者转换对象的存储类别。

  • OBS存储功能名称-静态网站托管

    您可以将静态网站文件上传至OBS桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站。

    您可以将静态网站文件上传至OBS桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站。

  • OBS存储功能名称-防盗链

    为了防止用户在OBS的数据被其他人盗链,OBS支持基于HTTP Header中表头字段Referer的防盗链方法,同时支持访问白名单和访问黑名单的设置。

    为了防止用户在OBS的数据被其他人盗链,OBS支持基于HTTP Header中表头字段Referer的防盗链方法,同时支持访问白名单和访问黑名单的设置。

  • OBS存储功能名称-事件通知

    您可以设置在桶中发生某些特定事件时收到消息通知服务(SMN)发送的通知,以便及时掌握桶中数据的最新动态。

    您可以设置在桶中发生某些特定事件时收到消息通知服务(SMN)发送的通知,以便及时掌握桶中数据的最新动态。

OBS存储常见问题

OBS存储常见问题

  • 如何获得OBS对象存储服务?

    在云服务网站申请帐号,充值后,即可使用对象存储服务。

    若是IAM子帐号,需主帐号通过IAM授权其OBS资源使用权限,IAM子帐号才能访问OBS。

    在OBS上创建桶和上传对象,以及对桶和对象的相关操作请参见桶管理对象管理

  • OBS的数据存储在哪里?

    在OBS上创建桶时,您可以指定一个区域。在该区域内,您的数据存储在多台设备上。

  • 为什么OBS存储的数据丢失了?

    请检查桶中是否设置了生命周期过期删除规则,符合规则的对象会被删除。

    请检查桶是否授权了其他用户桶的写权限,被授权的用户都可以删除对象。若您开启了日志记录功能,可以通过日志记录查询到删除对象的用户。

  • 已删除的OBS存储数据是否可以恢复?

    桶开启了多版本控制功能时,删除的对象会保存到“已删除对象”列表中,您可以在“已删除对象”列表中恢复对象,详情请参见取消删除文件

    桶没有开启多版本控制功能时,已删除的对象不可恢复。

  • 访问OBS存储链接提示告警信息

    原因

    因为部分用户使用OBS桶时上传了包含色情、暴恐、涉政等违法违规内容,OBS和第三方平台(微信/支付宝/百度等)检测到后会封禁此资源。第三方平台在封禁此资源的同时,会将OBS域名列为不信任域名,导致其他合法使用OBS域名的用户也受到影响。

    解决方案

    需要通过第三方平台,如微信/支付宝/百度等平台或小程序使用OBS的用户,建议使用自定义域名访问OBS资源,避免封禁。

  • OBS存储桶内无对象,为什么还会产生存储费用?

    OBS的计费项之一是存储费用。桶中的对象、已删除对象和碎片均会占用存储空间,进而产生存储费用。如果桶内没有对象,请检查桶内是否还存在已删除对象或碎片。

    检查是否存在已删除对象

    什么是已删除对象?

    1、在左侧导航栏,单击“对象”。

    2、在对象列表上方,单击“已删除对象”页签,在列表中可以查看到桶中的已删除对象。

    如需清理已删除对象,请选中所有已删除对象后,单击列表上方的“删除”。

    检查是否存在碎片

    什么是碎片?

    1、在左侧导航栏,单击“对象”。

    2、在对象列表上方,单击“碎片”页签,在列表中可以查看到桶中碎片。

    如需清理碎片,请选中所有碎片后,单击列表上方的“删除”。

  • 使用OBS SDK上传超过5GB的大文件失败

    OBS服务端上传对象接口有规格限制,单次可上传的最大文件为5GB,如果需要上传超过5GB的大文件,需要通过OBS服务端提供的分段上传接口实现。具体步骤为:

    1. 调用OBS服务端初始化上传段任务接口,生成分段上传ID(Upload ID)。
    2. 调用OBS服务端上传段接口,逐个或并行上传段,每个段最大可支持5GB。
    3. 上传段完成后,调用OBS服务端合并段接口,生成最终对象。

    OBS SDK实现了OBS服务端分段上传需要使用的原子接口,可在各语言《SDK参考》的“分段上传”章节获取更多使用OBS SDK进行分段上传的介绍。

  • OBS存储如何实现备份和容灾?

    OBS通过如下方式实现备份和容灾:

    1. 创建桶时开启多AZ属性,用户数据冗余存储至多个AZ中。
    2. 通过跨区复制功能。用户可以将一个区域的桶中数据复制到另一个区域,实现云端备份。
    3. 将OBS中的数据下载到本地,本地备份数据。