华为云用户手册

  • 接口约束 您必须是桶拥有者或拥有下载对象的权限,才能下载多版本对象。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 对于存储类别为归档存储或深度归档存储的多版本对象,需要确认多版本对象的状态为“已恢复”才能对其进行下载。
  • 方法定义 void get_object(const obs_options *options, obs_object_info *object_info, obs_get_conditions *get_conditions, server_side_encryption_params *encryption_params, obs_get_object_handler *handler, void *callback_data);
  • 接口约束 您必须是桶拥有者或拥有获取桶的多版本状态的权限,才能获取桶的多版本状态。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketVersioning权限,如果使用桶策略则需授予GetBucketVersioning权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 接口约束 您必须是桶拥有者或拥有设置桶的多版本状态的权限,才能设置桶的多版本状态。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketVersioning权限,如果使用桶策略则需授予PutBucketVersioning权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 接口约束 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 如果遇到跨域报错、签名不匹配问题,请参考以下步骤排查问题: 未配置跨域,需要在控制台配置CORS规则,请参考配置桶允许跨域请求。 签名计算问题,请参考URL中携带签名排查签名参数是否正确;比如上传对象功能,后端将Content-Type参与计算签名生成授权URL,但是前端使用授权URL时没有设置Content-Type字段或者传入错误的值,此时会出现跨域错误。解决方案为:Content-Type字段前后端保持一致。
  • 功能说明 临时授权访问是指通过访问密钥、请求方法类型、请求参数等信息生成一个临时访问权限的URL,这个URL中会包含鉴权信息,您可以使用该URL进行访问OBS服务进行特定操作。在生成URL时,您需要指定URL的有效期。生成临时授权访问的URL是通过设置结构体temp_auth_configure来实现的。 temp_auth_configure结构体存在于obs_options结构体中。该方法适用于每个C SDK接口。 参数 作用 SDK中对应的结构体 expires 生成的临时URL的有效期 obs_options. temp_auth_configure temp_auth_callback 回调函数用于返回生成的临时URL callback_data 回调数据
  • 方法定义 1 2 3 4 5 void copy_object(const obs_options *options, char *key, const char *version_id, obs_copy_destination_object_info *object_info, unsigned int is_copy, obs_put_properties *put_properties, server_side_encryption_params *encryption_params, obs_response_handler *handler, void *callback_data);
  • 接口约束 您必须是桶拥有者或拥有复制对象的权限,才能复制对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 复制对象操作的请求需要通过头域携带复制的源桶和对象信息,不能携带消息实体。 目标对象大小范围是[0, 5GB],如果源对象大小超过5GB,只能使用分段上传-复制段(C SDK)功能复制部分对象。
  • 接口约束 您必须是桶拥有者或拥有删除对象的权限,才能删除对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:DeleteObject权限,如果使用桶策略则需授予DeleteObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 桶没有开启多版本控制功能时,已删除的对象不可恢复,请谨慎操作。
  • 接口约束 每次接口调用最多返回1000个对象信息。 您必须是桶拥有者或拥有列举桶内对象的权限,才能列举桶内对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:ListBucket权限,如果使用桶策略则需授予ListBucket权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 接口约束 您必须是桶拥有者或拥有设置对象ACL的权限,才能设置对象ACL。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObjectAcl权限,如果使用桶策略则需授予PutObjectAcl权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 一个对象的ACL最多支持配置100条授权策略。
  • 功能说明 OBS支持对对象的操作进行权限控制。默认情况下,只有对象的创建者才有该对象的读写权限。用户也可以设置其他的访问策略,比如对一个对象可以设置公共访问策略,允许所有人对其都有读权限。SSE-KMS方式加密的对象即使设置了ACL,跨租户也不生效。 OBS用户在上传对象时可以设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL(access control list) 。 可以通过本接口在上传对象时指定预定义访问策略。
  • 方法定义 1 2 3 4 void put_object(const obs_options *options, char *key, uint64_t content_length, obs_put_properties *put_properties, server_side_encryption_params *encryption_params, obs_put_object_handler *handler, void *callback_data);
  • 方法定义 void get_object(const obs_options *options, obs_object_info *object_info, obs_get_conditions *get_conditions, server_side_encryption_params *encryption_params, obs_get_object_handler *handler, void *callback_data);
  • 接口约束 您必须是桶拥有者或拥有图片处理的权限,才能进行图片处理。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 所有的图片处理操作均不会修改原图。 归档存储不支持图片处理。 深度归档存储不支持图片处理。 处理后的图片直接返回浏览器展示,不会保存在OBS中,也不会占用存储空间,不会产生存储费用。图片处理只收取处理的费用。 图片处理参数当前仅支持命令方式,即image/commands格式。 图片处理参数支持级联处理,可对图片文件依次实施多条命令。
  • 方法定义 void download_file(const obs_options *options, char *key, char* version_id, obs_get_conditions *get_conditions, server_side_encryption_params *encryption_params, obs_download_file_configuration * download_file_config, obs_download_file_response_handler *handler, void *callback_data);
  • 功能说明 当下载大对象到本地文件时,经常出现因网络不稳定或程序崩溃导致下载失败的情况。失败后再次重新下载不仅浪费资源,而且当网络不稳定时仍然有下载失败的风险。断点续传下载接口能有效地解决此类问题引起的下载失败,其原理是将待下载的对象分成若干个分段分别下载,并实时地将每段下载结果统一记录在checkpoint文件中,仅当所有分段都下载成功时返回下载成功的结果,否则返回错误信息提醒用户再次调用接口进行重新下载(重新下载时因为有checkpoint文件记录当前的下载进度,避免重新下载所有分段,从而节省资源提高效率)。 您可以通过download_file进行断点续传下载。
  • 接口约束 您必须是桶拥有者或拥有下载对象的权限,才能下载对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 断点续传下载接口是利用范围下载特性实现的,是对范围下载的封装和加强。 断点续传下载接口不仅能在失败后重试下载时节省资源提高效率,还因其对分段进行并发下载的机制能加快下载速度,帮助用户快速完成下载业务;且其对用户透明,用户不用关心checkpoint文件的创建和删除、分段任务的切分、并发下载的实现等内部细节。
  • 接口约束 您必须是桶拥有者或拥有恢复归档或深度归档存储对象的权限,才能恢复归档或深度归档存储对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:RestoreObject权限,如果使用桶策略则需授予RestoreObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 重复恢复归档或深度归档存储对象时在延长恢复有效期的同时,也将会对恢复时产生的恢复费用进行重复收取。产生的标准存储类别的对象副本有效期将会延长,并且收取延长时间段产生的标准存储副本费用。
  • 接口约束 您必须是桶拥有者或拥有下载对象的权限,才能下载对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 对于存储类别为归档存储或深度归档存储的对象,需要确认对象的状态为“已恢复”才能对其进行下载。
  • 方法定义 void get_object(const obs_options *options, obs_object_info *object_info, obs_get_conditions *get_conditions, server_side_encryption_params *encryption_params, obs_get_object_handler *handler, void *callback_data);
  • 方法定义 void get_object(const obs_options *options, obs_object_info *object_info, obs_get_conditions *get_conditions, server_side_encryption_params *encryption_params, obs_get_object_handler *handler, void *callback_data);
  • 接口约束 您必须是桶拥有者或拥有下载对象的权限,才能下载对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 对于存储类别为归档存储或深度归档存储的对象,需要确认对象的状态为“已恢复”才能对其进行下载。
  • 接口约束 您必须是桶拥有者或拥有上传对象的权限,才能上传对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 启用服务端加密SSE-C方式时,追加上传和初始化段一样,设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传也必须携带。 启用服务端加密SSE-KMS方式时,有且只有第一次上传且桶内不存在同名对象时,才设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传不携带,会继承之前的设置。 每次追加上传的长度不能超过对象长度上限5G的限制。 每个Appendable对象追加上传次数最多为10000次。 如果对象存储类别为COLD(归档存储)或DEEP_ARCHIVE(深度归档存储),则不能调用该接口。 如果桶设置了跨区域复制配置,则不能调用该接口。 并行文件系统不支持追加上传对象。 put_object上传的对象可覆盖append_object上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。 第一次调用追加上传时,如果已存在同名的普通对象,则会抛出异常(HTTP状态码为409)。 追加上传返回的ETag是当次追加数据内容的ETag,不是完整对象的ETag。
  • 方法定义 void append_object(const obs_options *options, char *key, uint64_t content_length, const char * position, obs_put_properties *put_properties,server_side_encryption_params *encryption_params, obs_append_object_handler *handler, void *callback_data);
  • 接口约束 您必须是桶拥有者或拥有上传对象的权限,才能上传对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 断点续传上传接口传入的文件大小至少要100K。 使用SDK的断点续传接口时,必须开启断点续传选项后才能在进程再次进入时读取上一次上传的进度。
  • 功能说明 对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。其原理是将待上传的文件分成若干个分段分别上传,并实时地将每段上传结果统一记录在checkpoint文件中,仅当所有分段都上传成功时返回上传成功的结果,否则返回错误信息提醒用户再次调用接口进行重新上传(重新上传时因为有checkpoint文件记录当前的上传进度,避免重新上传所有分段,从而节省资源提高效率)。 您可以通过upload_file进行断点续传上传。
  • 方法定义 1 2 3 4 5 void upload_file(const obs_options *options, char *key, server_side_encryption_params *encryption_params, obs_upload_file_configuration *upload_file_config, obs_upload_file_server_callback server_callback, obs_upload_file_response_handler *handler, void *callback_data);
  • 功能说明 初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。 多段上传任务创建后,用户可以通过指定多段上传任务号,为特定的任务上传段。添加段的方式还包括调用段复制接口。允许用户将已上传对象的一部分或全部复制为段。 将源对象object复制为一个段part1,如果在复制操作之前part1已经存在,复制操作执行之后,旧的段数据part1会被新复制的段数据覆盖。复制成功后,只能列举到最新的段part1,旧的段数据将会被删除。因此在使用复制段接口时请确保目标段不存在或者已无价值,避免因复制段导致数据误删除。复制过程中源对象object无任何变化。
  • 方法定义 1 2 3 4 void copy_part(const obs_options *options, char *key, obs_copy_destination_object_info *object_info, obs_upload_part_info *copypart, obs_put_properties *put_properties, server_side_encryption_params *encryption_params,obs_response_handler *handler, void *callback_data);
共99269条