• [问题求助] 为什么调用go 版obs sdk下载速度很慢
    同一张图片在浏览器上下载大概在300 ms的样子,而在我们提供的go例子中却需要约2-3s耗时10倍以上采用的例子是examples中的download_sample.go的getobs函数
  • [数据管理] OBS连接notebook是一直扣费吗
    创建了免费的notebook后,使用OBS上的数据,会扣费吗?从OBS上传到Modelarts的数据,使用中也会一直扣费吗?
  • [数据管理] 能否将OBS中压缩文件作为数据集,在ModelArts中创建训练任务呢?
    有时候我需要的数据集比较大,以压缩包的形式存在OBS中,在ModelArts上使用创建训练任务怎么使用?能不能不解压使用呢?
  • [产品介绍] 存储-对象存储、文件存储和块存储
    转载:https://www.amazonaws.cn/s3/块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。        首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式,而所有的NAS产品都是文件级存储。1、块存储        以下列出的两种存储方式都是块存储类型:        1) DAS(Direct Attach Storage,也可称为SAS, Server Attach Storage):是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立的储存设备,每台主机服务器的储存设备无法互通,需要跨主机存取资料时,必须经过相对复杂的设定,若主机服务器分属不同的操作系统,要存取彼此的资料,更是复杂,有些系统甚至不能存取。通常用在单一网络环境下且数据交换量不大,性能要求不高的环境下,可以说是一种应用较为早的技术实现。2)SAN(Storage Area Network):是一种用高速(光纤)网络联接专业主机服务器的一种储存方式,此系统会位于主机群的后端,它使用高速I/O 联结方式, 如 SCSI, ESCON 及 Fibre- Channels。一般而言,SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中,特点是代价高,性能好。例如电信、银行的大数据量关键应用。它采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。2、文件存储        通常,NAS产品都是文件级存储。  NAS(Network Attached Storage):是一套网络储存设备,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供数据文件服务的系统,特点是性价比高。例如教育、政府、企业等数据存储应用。        它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用下面,我们对DAS、NAS、SAN三种技术进行比较和分析:表格 1 三种技术的比较针对Linux集群对存储系统高性能和数据共享的需求,国际上已开始研究全新的存储架构和新型文件系统,希望能有效结合SAN和NAS系统的优点,支持直接访问磁盘以提高性能,通过共享的文件和元数据以简化管理,目前对象存储系统已成为Linux集群系统高性能存储系统的研究热点,如Panasas公司的Object Base Storage Cluster System系统和Cluster File Systems公司的Lustre等。下面将详细介绍对象存储系统。3、对象存储        总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点。        核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。        对象存储结构组成部分(对象、对象存储设备、元数据服务器、对象存储系统的客户端):        3.1、对象对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。        3.2、对象存储设备        对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:      (1) 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。      (2) 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。      (3) 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。         3.3、元数据服务器(Metadata Server,MDS)          MDS控制Client与OSD对象的交互,主要提供以下几个功能:      (1) 对象存储访问。        MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。      (2) 文件和目录访问管理。        MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。     (3) Client Cache一致性。        为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。3.4、对象存储系统的客户端Client        为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client,通常提供POSIX文件系统接口,允许应用程序像执行标准的文件系统操作一样。 4、GlusterFS 和对象存储       GlusterFS是目前做得最好的分布式存储系统系统之一,而且已经开始商业化运行。但是,目前GlusterFS3.2.5版本还不支持对象存储。如果要实现海量存储,那么GlusterFS需要用对象存储。值得高兴的是,GlusterFS最近宣布要支持对象存储。它使用openstack的对象存储系统swift的上层PUT、GET等接口,支持对象存储。http://www.openstack.org/blog/2011/07/announcing-the-gluster-connector-for-openstack/AWS S3(对象存储):可以集成式部署(NAS,SAN,API接口,软件开发工具包Software Development Kit,即SDK) 以及迁移到云端(易扩展,高可用,按使用付费,减少维护等成本,安全,灾备)发送事件通知:发送事件通知Amazon S3 可在对象上传到 Amazon S3 时发送事件通知。Amazon S3 事件通知可使用 Amazon SQS 或 Amazon SNS 进行传送,或直接发送到 AWS Lambda,从而使您能够触发工作流、警报或其他处理操作。例如,您可以使用 Amazon S3 事件通知在媒体文件上传完成时触发其转码操作,在数据文件可用时触发其处理流程,或触发 Amazon S3 对象与其他数据存储的同步。性能高性能高Amazon S3 支持分段上传,可帮助最大化网络吞吐量和弹性,同时还让您能够选择 AWS 区域存储接近于终端用户的数据并最小化网络延迟。而且 Amazon S3 还能与 Amazon CloudFront 集成,后者是一项内容分发 Web 服务,能以低延迟性和高数据传输速度向终端用户分发内容,且无需承诺最低使用费用。
  • [产品介绍] 对象存储(Object-based Storage)概述
    转载:https://blog.csdn.net/qq_38526635/article/details/81632971?biz_id=102&utm_term=%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-81632971&spm=1018.2118.3001.4187对象存储概述什么是对象存储(OSD)?存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。1999年成立的全球网络存储工业协会(SNIA)的对象存储设备工作组发布了ANSI的X3T10标准。总体上来讲,对象存储综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。SAN存储架构采用SCSI快I/O命令集,通过磁盘或FC(iber Channel)级的数据访问提供高性能的随机I/O个数据吞吐率,它具有高宽带、低时延的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且扩展性较差,已不能满足成千上万个CPU规模的系统。NAS存储架构它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展行好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的西医开销高、带宽低、延迟大,不利于在高性能集群中使用。对象存储架构核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备构建存储系统,每个对象存储设备具有一定的只能,能够自动管理其上的数据分布。对象存储结构由对象、对象存储设备、元数据服务器、对象存储系统的客户端四部分组成。1. 对象对象 是系统中数据存储的基本单位,每个Obeject是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。Object的大小可以不同,可以包含整个数据结构,如文件、数据表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问对象。通常由多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组队象是存储设上共享资源管理策略的对象集合等。                                                  传统的访问层次和虚拟数据访问模型2. 对象存储设备每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问、目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:(1)数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。(2)智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。(3)每个对象数据的管理。OSD管理存储在其它对象上的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器提供的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。3. 元数据服务器(Metadata Server,MDS)MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。主要提供以下几个功能:(1)对象存储访问。MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时先验证该能力,然后才可以访问。(2)文件和目录访问管理。MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。(3)Client Cache一致性。为了提高Client性能,在对象存储系统设计时通常支持Client的Cache。由于引入Client方的Cache,带来了Cache一致性的问提,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cvashe,从而防止Cache不一致引发的问提。4. 对象存储系统的客户端Client为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统访问流程:1)客户端应用发出读请求;2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;3)然后直接向每个OSD发送数据读取请求;4)OSD得到请求后,判断要读取的Object,并根据此Object的认证方式,对客户端进行认证,如果客户端得到收授权,则将Object的数据返回给客户端;5)文件系统收到OSD返回的数据以后,读操作完成。对象存储文件系统的关键技术1、分布元数据 传统的存储结构元数据服务器通常提供两个主要功能。(1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。(2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。2、并发数据访问 对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。
  • [内容拦截申诉] 【博客】OBS API 鉴权实现宝典(上)—签名计算篇
    发帖内容:发文的版块名:博客发文的标题名:OBS API 鉴权实现宝典(上)—签名计算篇帖子内容链接:https://bbs.huaweicloud.com/blogs/197483
  • [技术干货] OBS API 鉴权实现宝典(下)—OBS API实战篇
    OBS提供了REST(Representational State Transfer)风格API,支持您通过HTTP/HTTPS请求调用。通过前述的签名计算方法,想必大家对OBS的API鉴权方式已经有所了解,下文将通过Postman、cURL、编码等方法对OBS的API进行实战调用。1、OBS支持的API列表详见官网链接:https://support.huaweicloud.com/api-obs/obs_04_0005.html2、构造请求本节主要介绍OBS RESTful 请求的构成2.1、请求URIOBS根据桶和对象以及所对应的子资源参数来确定具体的URI,当需要进行资源操作时,可以使用这个URI地址。URI的一般格式为(方括号内为可选项):protocol://[bucket.]domain[:port][/object][?param]URI中参数的具体含义如下:参数描述是否必选protocol请求使用的协议类型,如HTTP、HTTPs。HTTPs表示通过安全的HTTPs访问该资源,对象存储服务支持HTTP,HTTPs两种传输协议。必选bucket请求使用的桶资源路径,在整个系统中唯一标识一个桶。可选domain存放资源的服务器的域名或IP地址。必选port请求使用的端口号。根据软件服务器的部署不同而不同。缺省时使用默认端口,各种传输协议都有默认的端口号,如HTTP的默认端口为80,HTTPs的默认端口为443。可选OBS对象存储服务的HTTP方式访问端口为80,HTTPs方式访问端口为443。object请求使用的对象资源路径。可选param请求使用的桶和对象的具体资源,缺省默认为请求桶或对象自身资源。可选 2.2、请求方法HTTP方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。华为云对象存储支持以下的REST请求方法:方法说明GET请求服务器返回指定资源,如获取桶列表、下载对象等。PUT请求服务器更新指定资源,如创建桶、上传对象等。POST请求服务器新增资源或执行特殊操作,如初始化上传段任务、合并段等。DELETE请求服务器删除指定资源,如删除对象等。HEAD请求服务器返回指定资源的概要,如获取对象元数据等。OPTIONS请求服务器检查是否具有某个资源的操作权限,需要桶配置CORS。 2.3、请求消息头请求消息头是可选的附加请求头字段,如指定的URI和HTTP方法所要求的字段。以下是OBS的公共请求消息头:消息头名称描述是否必选Authorization请求消息中可带的签名信息。有条件必选类型:字符串。默认值:无。条件:匿名请求不需要带,其他请求必选。Content-LengthRFC 2616中定义的消息(不包含消息头)长度。有条件必选类型:字符串。默认值:无。条件:PUT操作和加载XML的操作必须带。Content-Type资源内容的类型,例如: text/plain。否类型:字符串。默认值:无。Date请求发起端的日期和时间。有条件必选类型:字符串。默认值:无。条件:如果是匿名请求或者消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。Host表明主机地址。如bucketname.obs.cn-north-4.myhuaweicloud.com。是类型:字符串。默认值:无。 2.4、请求消息体(可选)请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。3、发起请求本文以列举桶内对象为例,说明各种客户端发起请求调用OBS API的流程。3.1、构造请求1、按照上述2.1构建请求URI,本例中的URI即为“bucketname.obs.cn-north-4.myhuaweicloud.com”;2.按照上述2.2选择对应的请求方法,本例使用“GET”请求方法;3.按照2.3选择对应的请求消息头,由于本例的请求为GET请求,因此Content-Type、Content-Length、Content-MD5都设置为空字符串;其中“Authorization”请求头中的签名需要根据前文所述的签名计算方法进行计算:StringToSign=GET Thu, 03 Sep 2020 01:57:08 GMT/bucketname/将其进行加密并进行编码后,获得Authorization头域为:OBS Y5IBJTPVZBXYXVLKVOSZ:L0h7P/XDJltLkT/arekZy3Ysh68=4.传入对应的请求消息体,本例中不涉及。3.2、使用PostMan发起请求Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。由于Postman具有可视化的操作界面,因此调试接口过程不再赘述。注意事项:当在请求中不手动指定“Content-Type”等头域时,Postman会自动生成头域,可能会导致签名不匹配的情况,可通过点击红框中的按钮将隐藏头域显示以便定位此类问题;3.3、使用cURL发起请求cURL是利用URL语法在命令行方式下工作的文件传输工具。利用cURL可以调试OBS提供的接口。在使用curl调试OBS API时,需要用到以下的语法:-H HTTP请求头-X HTTP方法调用OBS提供的列举对象接口时,在Linux终端下执行以下命令:curl -X GET https://bucketname.obs.cn-north-4.myhuaweicloud.com -H "Content-Type:" -H "Authorization:OBS Y5IBJTPVZBXYXVLKVOSZ:*****" -H "Date:Tue, 25 Aug 2020 03:16:39 GMT" –kv即可获取到接口返回的信息。注意事项:curl命令所携带的 –k参数允许curl使用非安全的ssl连接并且传输数据(证书不受信),而-v参数能输出更详细的参数便于debug。3.4、使用HTTP请求库发起请求通过编码发起请求,以Python常见的HTTP请求库requests库为例,代码如下:(示例代码中已集成签名计算)1.  import hashlib  2.  import hmac  3.  import binascii  4.  from datetime import datetime  5.  import requests  6.  import time  7.    8.  AK = "Input Your Access Key Id"  9.  SK = "Input Your Secret Access Key Id"  10.   11.   12. time = time.time()  13. time = int(time)  14. time = str(time)  15.   16. # 计算签名  17. httpMethod = 'GET'  18. contentType = ''  19. Conten**5 = ''  20. date = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')  21. canonicalizedHeaders = ''  22. canonicalizedResource = '/obs-yuchenyu/'  23. canonical_string = httpMethod + "\n" + Conten**5 + "\n" + contentType + "\n" + date + "\n" + canonicalizedHeaders + canonicalizedResource  24. hashed = hmac.new(SK.encode('UTF-8'), canonical_string.encode('UTF-8'), hashlib.sha1)  25. encode_canonical = binascii.b2a_base64(hashed.digest())[:-1].decode('UTF-8')  26.   27. url = 'https://obs-yuchenyu.obs.cn-north-4.myhuaweicloud.com/'  28.   29. # 生成请求头  30. headers = {  31.     'Date': date,  32.     'Authorization': 'OBS {}:{}'.format(AK, encode_canonical),  33.     'Content-Type': '',  34.     'Content-MD5': ''  35. }  36.   37.   38. # 发送请求  39. resp = requests.get(url, headers=headers, verify=False)  40. print(resp.status_code)  41. print(resp.headers)  42. print(resp.content.decode('utf-8'))  返回结果如下:"C:\Program Files\Python37\python.exe" "D:/OBS PythonSDK/OBS_API.py"200{'via': 'proxy A', 'Date': 'Tue, 25 Aug 2020 03:25:59 GMT', 'Server': 'OBS', 'Connection': 'Keep-Alive', 'x-obs-id-2': '32AAAQAAEAABAAAQAAEAABAAAQAAEAABCTDP5fqiYrOrqBlcJ91P0KqhCGTp+5Pl', 'Content-Type': 'application/xml', 'Content-Length': '28217', 'x-obs-request-id': '0000017423A6A7AA44CB43873F3DBCD6', 'x-obs-bucket-location': 'cn-north-4'}<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ListBucketResult xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">……Process finished with exit code 0  【系列文章推荐】:OBS API 鉴权实现宝典(上)—签名计算篇OBS API 鉴权实现宝典(中)—POST签名计算
  • [问题求助] 华为云 obs github release 版本 tar.gz 为什么解压不出来
  • [技术干货] 华为云obs git hub 上的release 版本 tar.gz 包解压不出来
  • 【OBS BrowserJS】 在vue项目 中 import 进去。导致项目编译不了
    一直卡着这个位置不动了
  • [问题求助] 希望把OBS中超过500M的文件同步到notebook中,import moxing as mox时报没有该模块
    希望把OBS中超过500M的文件同步到notebook中,参考如下方法。但是,import moxing时,报no module named 'moxing'。然后,我试图pip install moxing时,报如下错误,请问是什么原因呢?sh-4.3$pip install moxingLooking in indexes: http://repo.myhuaweicloud.com/repository/pypi/simpleERROR: Could not find a version that satisfies the requirement moxing (from versions: none)ERROR: No matching distribution found for moxing
  • [问题求助] Android OBS 断点续传上传
    根据SDK文档中示例的程序进行文件上传,使用的是:以下代码展示了如何使用断点续传上传接口上传文件:String endPoint = "https://your-endpoint"; String ak = "*** Provide your Access Key ***"; String sk = "*** Provide your Secret Key ***"; // 创建ObsClient实例 ObsClient obsClient = new ObsClient(ak, sk, endPoint);          UploadFileRequest request = new UploadFileRequest("bucketname", "objectname"); // 设置待上传的本地文件,其中localfile为待上传的本地文件路径,需要指定到具体的文件名 request.setUploadFile("localfile"); // 设置分段上传时的最大并发数 request.setTaskNum(5); // 设置分段大小为10MB request.setPartSize(10 * 1024 * 1024); // 开启断点续传模式 request.setEnableCheckpoint(true);try{     // 进行断点续传上传     CompleteMultipartUploadResult result = obsClient.uploadFile(request); }catch (ObsException e) {     // 发生异常时可再次调用断点续传上传接口进行重新上传 }针对同一个文件,使用相同的bucketname和objectname,但再次上传时,进度似乎不是从上次上传的位置返回的
  • [其他问题] 【ModelArts】【OBS】OBS删除一个文件夹太慢了
    【功能模块】OBS【操作步骤&问题现象】1、OBS删除一个文件夹太慢了,如果一个文件夹里面有1万个文件,查看OBS Browser的任务管理,发现它是一个个删的,太慢了,得气死!不能一下删除整个目录么?【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [开发环境] 如何在python文件中调用obs上传的数据集
    当我创建了notebook之后,利用obs桶上传了我的数据集(同时上传了python文件在同一路径下),这时应该怎么在python文件里面写调用数据集的路径呢?我试过写"./xxx/xxx"但是会报错找不到文件
  • [产品介绍] 对象存储(Object-based Storage)概述
    https://blog.csdn.net/qq_38526635/article/details/81632971   转载对象存储概述 什么是对象存储(OSD)?存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。1999年成立的全球网络存储工业协会(SNIA)的对象存储设备工作组发布了ANSI的X3T10标准。总体上来讲,对象存储综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。SAN存储架构采用SCSI快I/O命令集,通过磁盘或FC(iber Channel)级的数据访问提供高性能的随机I/O个数据吞吐率,它具有高宽带、低时延的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且扩展性较差,已不能满足成千上万个CPU规模的系统。NAS存储架构它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展行好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的西医开销高、带宽低、延迟大,不利于在高性能集群中使用。对象存储架构核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备构建存储系统,每个对象存储设备具有一定的只能,能够自动管理其上的数据分布。对象存储结构由对象、对象存储设备、元数据服务器、对象存储系统的客户端四部分组成。1. 对象对象 是系统中数据存储的基本单位,每个Obeject是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。Object的大小可以不同,可以包含整个数据结构,如文件、数据表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问对象。通常由多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组队象是存储设上共享资源管理策略的对象集合等。                                                  传统的访问层次和虚拟数据访问模型2. 对象存储设备每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问、目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:(1)数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。(2)智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。(3)每个对象数据的管理。OSD管理存储在其它对象上的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器提供的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。3. 元数据服务器(Metadata Server,MDS)MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。主要提供以下几个功能:(1)对象存储访问。MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时先验证该能力,然后才可以访问。(2)文件和目录访问管理。MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。(3)Client Cache一致性。为了提高Client性能,在对象存储系统设计时通常支持Client的Cache。由于引入Client方的Cache,带来了Cache一致性的问提,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cvashe,从而防止Cache不一致引发的问提。4. 对象存储系统的客户端Client为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统访问流程:1)客户端应用发出读请求;2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;3)然后直接向每个OSD发送数据读取请求;4)OSD得到请求后,判断要读取的Object,并根据此Object的认证方式,对客户端进行认证,如果客户端得到收授权,则将Object的数据返回给客户端;5)文件系统收到OSD返回的数据以后,读操作完成。对象存储文件系统的关键技术1、分布元数据 传统的存储结构元数据服务器通常提供两个主要功能。(1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。(2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。2、并发数据访问 对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。