检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
获取桶存量信息 桶存量信息包括桶已使用的空间大小以及桶包含的对象个数。您可以通过getBucketStorageInfo获取桶的存量信息。以下代码展示如何获取桶存量信息: static OBSClient *client; NSString *endPoint = @"your-endpoint
获取对象属性 您可以通过getObjectMetaData来获取对象属性,包括对象长度,对象MIME类型,对象自定义元数据等信息。以下代码展示了如何获取对象属性: static OBSClient *client; NSString *endPoint = @"your-endpoint
SDK自定义异常 通过响应中的error来判断请求是否异常,如果error等于空则请求无异常,否则请求失败,错误信息将会在窗口中打印,代码如下所示: static OBSClient *client; NSString *endPoint = @"your-endpoint"; /
设置生命周期规则 您可以通过setBucketLifecycle设置桶的生命周期规则。 设置对象转换策略 以下代码展示了如何设置最新版本对象和历史版本对象的转换策略: static OBSClient *client; NSString *endPoint = @"your-endpoint
恢复多版本归档存储对象 您可以通过OBSRestoreObjectRequest接口传入版本号(versionID)来恢复多版本归档存储对象,示例代码如下: static OBSClient *client; NSString *endPoint = @"your-endpoint
OBS客户端通用示例 调用OBSClient类的相关接口时,没有错误产生则说明调用成功;当有错误产生时,则说明操作失败。以下代码展示了使用OBS客户端的通用方式: NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险
SDK功能矩阵 Java、Python、C、.NET、Node.js、Android SDK对OBS各接口的支持情况请参见表1。 iOS、PHP、Go、BrowserJS、Harmony SDK对OBS各接口的支持情况请参见表2。 表1 OBS SDK功能矩阵1 接口类型 接口名
设置对象生命周期 static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以
给业务部门授予独立的资源权限 通常一个企业可能会分设多个业务部门,各业务部门之间的数据需要独立管理。在此场景下,可以考虑给各业务部门分配各自所需的IAM用户,通过桶策略给每个业务部门下的IAM用户授予独立的资源权限。 场景假设 假设某企业下有A和B两个不同的业务部门,希望各业务部门的数据存放在自己的桶中
对所有账号授予指定目录的读权限 场景介绍 当一个文件夹下的对象都需要授权所有账号访问权限时,可以通过桶策略配置授予所有账号访问文件夹内对象的权限。 配置须知 本案例预置的“目录只读”模板允许所有账号(所有互联网用户)对指定目录执行以下权限: GetObject:获取对象内容、获取对象元数据
对所有账号授予指定对象的读权限 场景介绍 某公司A使用OBS存储了大量全球各地的地图数据,这些数据需要对外开放供所有人查阅。在这种情况下,该公司便可以为这部分数据设置所有账号的读取权限,然后将这些数据对应的URL公开在互联网上,所有人就可以使用这个URL访问或下载这些公开数据了。
设置跨域规则 您可以通过setBucketCORS设置桶的跨域规则,如果原规则存在则覆盖原规则。以下代码展示了如何设置跨域规则: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk
使用临时URL进行授权访问 临时授权访问是指通过访问密钥、请求方法类型、请求参数等信息生成一个临时访问权限的URL,这个URL中会包含鉴权信息,您可以使用该URL进行访问OBS服务进行特定操作。在生成URL时,您需要指定URL的有效期。所有继承OBSBaseRequest的子类都能使用临时鉴权访问
获取多版本对象 您可以通过OBSAbstractGetObjectRequest的子类,通过设置request.versionID来获取多版本对象,示例代码如下: static OBSClient *client; NSString *endPoint = @"your-endpoint
日志分析 设置方式 开启系统日志记录,代码如下所示: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放
创建文件夹 OBS本身是没有文件夹的概念的,桶中存储的元素只有对象。创建文件夹实际上是创建了一个大小为0且对象名以“/”结尾的对象,这类对象与其他对象无任何差异,可以进行下载、删除等操作,只是OBS控制台会将这类以“/”结尾的对象以文件夹的方式展示。 static OBSClient
重写响应头 下载对象时,可以重写部分HTTP/HTTPS响应头信息。可重写的响应头信息见下表: 参数 作用 OBS iOS SDK对应方法 responseContentType 重写HTTP/HTTPS响应中的Content-Type request.responseContentType
文件上传 文件上传使用本地文件作为对象的数据源。以下代码展示了如何进行文件上传: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险
范围下载 如果只需要下载对象的其中一部分数据,可以使用范围下载,下载指定范围的数据。如果指定的下载范围是0~1000,则返回第0到第1000个字节的数据,包括第1000个,共1001字节的数据,即[0,1000]。如果指定的范围无效,则返回整个对象的数据。以下代码展示了如何进行范围下载
业务部门之间桶资源隔离 按照给业务部门授予独立的资源权限的场景配置,虽然可以实现不同部门用户只能访问本部门的资源,但是每个用户都可以看到企业账号下的所有桶资源,无法做到只能看到自己部门的桶。本节介绍如何通过OBS Browser+添加外部桶的方式实现业务部门之间桶资源隔离。 场景假设