检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
OBS性能优化建议 OBS按照对象名的UTF-8编码范围来进行分区管理,对系统进行水平扩展与动态负载均衡。如果用户在对象命名规则上使用了顺序前缀(如时间戳或字母顺序),可能导致大量对象的请求访问集中于某个特定分区,造成访问热点。热点分区上的请求速率受限,访问时延上升。 推荐使用随
SDK公共结果对象(Python SDK) 功能说明 调用ObsClient的相关接口完成后均会返回SDK公共结果对象(ObsClient.createSignedUrl和ObsClient.createPostSignature接口除外),可从SDK公共结果对象中获取HTTP状态码,判断操作是否成功。
列举对象 当完成一系列上传对象操作后,可能需要查看桶中包含哪些对象。以下代码展示如何列举指定桶中的对象: OBSListObjectsRequest *request = [[OBSListObjectsRequest alloc] initWithBucketName:@"bucketname"];
is_terminal 是 Boolean 表示是否异常中断该Action,默认为False。 注:如果设置为True,那么不必设置nex-state; 如果设置为False,则必须设置next-state。 表8 内置Action模板名描述 内置Action模板名 描述 Category(分类)
import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.BucketCors; import com.obs.services
// 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 列举桶 OBSListBucketsRequest *request = [OBSListBucketsRequest new];
初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 获取桶区域 OBSGetBucketLocationRequest *request = [[OBSGetBucketLocationRequest
初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 获取托管配置 OBSGetBucketWebsiteRequest *request = [[OBSGetBucketWebsiteRequest
更方便的对存储在OBS中的数据进行分类管理。 OBS本身是没有文件夹的概念的,桶中存储的元素只有对象。创建文件夹实际上是创建了一个大小为0且对象名以“/”结尾的对象,这类对象与其他对象无任何差异,可以进行下载、删除等操作,只是OBS控制台会将这类以“/”结尾的对象以文件夹的方式展示。
st 复制对象 OBSCopyObjectRequest 删除对象 OBSDeleteObjectRequest 批量删除对象 OBSDeleteObjectsRequest 获取对象属性 OBSGetObjectMetaDataRequest 设置对象访问权限 OBSSetObjectACLRequest
ag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,都有唯一的ETag。 约束限制: 当对象是服务端加密的对象时,ETag值不是对象的MD5值。
CDN加速场景下访问OBS桶内对象变成强制下载 问题现象 在OBS控制台配置自定义域名开启CDN加速后,或在CDN控制台配置“源站类型”为“OBS桶域名”的加速域名后,访问OBS桶中对象无法在线预览,变成强制下载。 解决方案 该问题有以下两种解决方案。 方案一: 登录CDN控制台
SDK是否支持批量上传、下载或复制对象? 不支持。 目前SDK暂未提供此类接口,您需要自己封装批量上传、下载或复制对象的业务代码。步骤如下: 调用listObjects列举所有待上传、下载或复制的对象,具体代码示例请参见列举对象。 对列举出的对象调用单个对象的上传(上传对象)、下载(下载对象)或复制(复制对象)接口。
初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 清除托管配置 OBSDeleteBucketWebsiteRequest *request = [[OBSDeleteBucketWebsiteRequest
用户POST上传的对象大小超过了条件允许的最大大小。 修改POST上传的policy中的条件或者减少对象大小。 400 Bad Request EntityTooSmall 用户POST上传的对象大小小于条件允许的最小大小。 修改POST上传的policy中的条件或者增加对象大小。 400
回源相关接口。 - v3.23.3 新功能 增加obs.WithCallbackHeader方法,支持在上传对象请求中设置回调参数。 是 v3.22.11 代码优化 优化Go SDK代码。 是 v3.21.12 新功能 新增obs.WithTrafficLimitHeader接口,此接口用于限制单个连接的带宽。
下载文件或文件夹 操作步骤 登录OBS Browser。 单击待操作的桶,选中需要下载的文件或文件夹后,单击右键选择“下载”。 客户端支持批量下载,选择多个文件或文件夹,单击对象列表上方的“下载”即可批量下载对象。 对于存储类别为归档存储的桶中的文件,需要确认对象的状态为“已恢复”才能对其进行下载。
件夹到指定位置,然后删除原有文件或文件夹。 批量移动文件数量超过万级别时,建议使用obsutil工具,详见复制对象和删除对象。 前提条件 用户需要有待操作文件的ACL读写权限。 操作步骤 登录OBS Browser。 选中待配置的桶,进入桶界面。 右键单击需要移动的文件或文件夹,并选择“移动”。
删除无用的文件或文件夹可节省空间和成本。 用户上传到OBS的某些文件,可能需要定期删除,对于这类删除文件的场景,可通过OBS的生命周期管理功能实现,也可通过OBS的生命周期管理功能一次性清空桶里面所有文件或文件夹。详情请参见生命周期管理简介。 操作步骤 登录OBS Browser。 选中待配置的桶
Windows操作系统下,下载对象时发现本地和云上对象数量不一致 如果发现下载后本地文件和文件夹数量之和小于云上对象数量(OBS不区分文件或文件夹,统称为对象),并且当前操作系统是Windows,这个是因为Windows文件系统将文件和目录名称视为不区分大小写,FOO.txt和foo