检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何上传超过5GB的大对象? 背景信息 通过OBS管理控制台上传的文件有大小和数量限制,每次最多支持100个文件同时上传,总大小不超过5GB。如果只上传1个文件,则这个文件最大为5GB。 上传超过5GB的大对象 5GB < 上传对象 <= 48.8TB 如果需要上传超过5GB的大对象,可以使用OBS
文件上传 文件上传使用本地文件作为对象的数据源。以下代码展示了如何进行文件上传: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风
范围下载 如果只需要下载对象的其中一部分数据,可以使用范围下载,下载指定范围的数据。如果指定的下载范围是0~1000,则返回第0到第1000个字节的数据,包括第1000个,共1001字节的数据,即[0,1000]。如果指定的范围无效,则返回整个对象的数据。以下代码展示了如何进行范围下载:
ag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,都有唯一的ETag。 约束限制: 当对象是服务端加密的对象时,ETag值不是对象的MD5值。
下载一个对象名较长的对象到本地后,对象名称改变 问题: 使用OBS管理控制台下载一个对象名较长的对象到本地后,为什么对象名称发生了改变? 原因: Windows操作系统下允许的文件名长度最大为255字符,包括文件名和扩展名在内。 当对象名称长度超过255字符时,将该对象下载到本地
必选 参数解释: 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test
SDK公共结果对象 调用ObsClient的相关接口完成后,没有异常抛出,则会返回结果SDK公共结果对象,表明操作成功。该对象包含的内容见下表: 字段名 类型 说明 HttpStatusCode integer HTTP状态码。 Reason string HTTP文本描述。 RequestId
列举对象 当完成一系列上传对象操作后,可能需要查看桶中包含哪些对象。以下代码展示如何列举指定桶中的对象: OBSListObjectsRequest *request = [[OBSListObjectsRequest alloc] initWithBucketName:@"bucketname"];
长度小于等于64个字符,且不能重名。 默认取值: 无 返回结果 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2x
面示例中“d:\obs.cer”为证书在本地的存放路径。 不同语言需要导入对应格式的OBS证书,本文以Java运行环境为例,其他运行环境请转换证书格式后再导入。 keytool -import -alias cacerts -keystore cacerts -file d:\obs
其中分段并发数可按照以下规则进行调整: p = Min(CPU个数 * 2, 目标对象大小 / ps*1.5) 同时针对批量上传/下载任务,还可以通过调整defaultJobs(-j)最大并发任务数参数进行调优。 对于待上传/下载对象主要为小文件(通常在几M以内的文件),且文件个数较多的场景,由于
refix以达到为来自不同源桶的日志分类的目的。 类型:String TargetPrefix 通过该元素可以指定一个前缀给一类日志生成的对象。 类型:String TargetGrants 授权信息的容器。 类型:Container 错误响应消息 无特殊错误,所有错误已经包含在表2中。
putObject上传的对象可覆盖appendObject上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。 第一次调用追加上传时,如果已存在同名的普通对象,则会抛出异常(HTTP状态码为409)。 追加上传返回的ETag是当次追加数据内容的ETag,不是完整对象的ETag。 单次
限定条件下载 下载对象时,可以指定一个或多个限定条件,满足限定条件时则进行下载,否则抛出异常,下载对象失败。 您可以使用的限定条件如下: 参数 作用 OBS iOS SDK对应方法 ifModifiedSince 如果对象在指定的时间后有修改,则返回对象内容,否则返回错误。 request
对象相关接口说明(Go SDK) OBS Go SDK为对象相关接口(断点续传除外),均提供了使用带授权信息的URL访问OBS服务的方法,这些方法可能包含以下三个参数(ObsClient.PutFileWithSignedUrl除外): 带授权信息的URL 通过带授权信息的URL发起请求时实际应携带的头域
trans_subt_bucket 存放字幕文件的OBS桶。 trans_subt_object 字幕对象名,即字幕文件。 动态参数 (图片水印设置) trans_wm_bucket 存放水印图片的OBS桶。 trans_wm_object 水印图片对象名,即水印文件。 trans_iwm_dx
创建文件夹 OBS本身是没有文件夹的概念的,桶中存储的元素只有对象。创建文件夹实际上是创建了一个大小为0且对象名以“/”结尾的对象,这类对象与其他对象无任何差异,可以进行下载、删除等操作,只是OBS控制台会将这类以“/”结尾的对象以文件夹的方式展示。 static OBSClient *client;
ifModifiedSince ifUnmodifiedSince 如果对象在指定的时间后没有修改,则返回对象内容,否则返回错误。 request.ifUnmodifiedSince ifETagMatch 如果对象的ETag值与该参数值相同,则返回对象内容,否则抛出异常。 request.ifETagMatch
复制多版本对象 您可以通过OBSCopyObjectRequest接口传入版本号(versionID)来复制多版本对象,示例代码如下: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的
删除多版本对象 删除单个多版本对象 您可以通过OBSDeleteObjectRequest接口传入版本号(versionID)删除多版本对象,示例代码如下: static OBSClient *client; NSString *endPoint = @"your-endpoint";