hwOBS

initClient listBucket getBucket listObject deleteObject getTag

概述

hwOBS 模块封装了华为 OBS SDK。对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

OBS为用户提供了超大存储容量的能力,适合存放任意类型的文件,适合普通用户、网站、企业和开发者使用。云服务实现了在多地域部署基础设施,具备高度的可扩展性和可靠性,用户可根据自身需要指定地域使用OBS,由此获得更快的访问速度和实惠的服务价格。

对象(Object) 桶(Bucket) AK和SK 区域

以上概念解释参考华为OBS官方文档———常用概念

快速入门

initClient

初始化OBS客户端

initClient({params})

accessKey:

  • 类型:字符串类型
  • 描述:Access Key ID,接入键标识,用户在对象存储服务系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户
  • 默认:无

secretKey:

  • 类型:字符串类型
  • 描述:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。
  • 默认:无

endPoint:

  • 类型:字符串类型
  • 描述:可以从这里查看OBS当前开通的服务地址和区域信息
  • 默认:无

示例代码

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

createBucket

创建桶

createBucket({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字。桶的名字是全局唯一的,所以您需要确保不与已有的桶名称重复
  • 默认:无

storage:

  • 类型:字符串类型
  • 描述:(可选项)存储模式。
    • 取值范围:
    • standard : 标准存储
    • standardIA : 低频访问存储
    • glacier : 归档存储
  • 默认:standard

location:

  • 类型:字符串类型
  • 描述:(可选项)区域位置。创建桶时,如果使用的终端节点归属于默认区域华北-北京一(cn-north-1),则可以不指定区域;如果使用的终端节点归属于其他区域,则必须指定区域,且指定的区域必须与终端节点归属的区域一致。当前有效的区域名称有:cn-north-1、cn-east-2、cn-south-1、ap-southeast-1
  • 默认:cn-north-1

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. success: true, //布尔类型;是否成功
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.createBucket({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. alert(JSON.stringify(ret));
  7. }else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

listBucket

列举桶

listBucket(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. buckets:[
  4. {
  5. name : 'a' //字符串类型;桶的名字
  6. location : 'cn-north-1' //字符串类型;区域位置
  7. },
  8. ...
  9. ]
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.listBucket(function(ret,err){
  3. alert(JSON.stringify(ret));
  4. }else {
  5. alert(JSON.stringify(err));
  6. }
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteBucket

删除桶

deleteBucket({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. }
  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.deleteBucket({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. alert(JSON.stringify(ret));
  7. }else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocation

获取桶区域位置

getLocation({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. location: '', //字符串类型;区域位置
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.getLocation({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. }else {
  7. alert(JSON.stringify(err));
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

uploadFile

上传文件

uploadFile({params},callback(ret,err))

params

path:

  • 类型:字符串类型
  • 描述:上传的文件的路径,要求本地路径(fs://、widget://);Android仅支持fs://
  • 默认:无

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

objectKey:

  • 类型:字符串类型
  • 描述:对象描述标识
  • 默认:无

background:

  • 类型:布尔类型
  • 描述:(可选项)是否开启后台上传,为true时,当应用退出到后台后,上传任务仍然会进行
  • 默认:false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. progress: 0.5, //数值类型;上传进度
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.uploadFile({
  3. path : 'widget://image/haha.png',
  4. bucketName : 'a',
  5. objectKey : 'object'
  6. },function(ret,err){
  7. if (ret.success) {
  8. alert(JSON.stringify(ret));
  9. }else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

listObject

列举对象

listObject({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

prefix:

  • 类型:字符串类型
  • 描述:(可选项)列举以指定的字符串prefix开头的对象
  • 默认:无

count:

  • 类型:数值类型
  • 描述:(可选项)指定列举数目
  • 默认:不限制数目,最多1000

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. objectKeys:[ //数组类型;对象的key值数组
  4. 'aaa', //字符串类型;对象的key值
  5. ...
  6. ]
  7. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.listObject({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. alert(JSON.stringify(ret));
  7. }else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getObject

获取云存储对象(该方法仅支持Android)

getObject({params},callback(ret))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

objectKey:

  • 类型:字符串类型
  • 描述:对象KEY
  • 类型:字符串类型
  • 描述:保存路径(仅支持fs:// 及 Android系统本地路径)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. progress:0 //数字类型;当前下载进度
  4. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.getObject({
  3. bucketName:'',
  4. objectKey:'',
  5. savePath:''
  6. },function(ret){
  7. alert(JSON.stringify(ret));
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteObject

删除对象

deleteObject({params},callback(ret,err))

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

objectKey:

  • 类型:字符串类型
  • 描述:对象KEY
  • 默认:无

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.deleteObject({
  3. bucketName : 'a'
  4. if (ret.success) {
  5. alert(JSON.stringify(ret));
  6. }else {
  7. alert(JSON.stringify(err));
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTag

设置桶标签

setTag({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

tagKey:

  • 类型:字符串类型
  • 描述:标签key
  • 默认:无

tagValue:

  • 类型:字符串类型
  • 描述:标签value
  • 默认:无

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.setTag({
  3. bucketName : 'a',
  4. tagKey : 'tagKey',
  5. tagValue : 'tagValue',
  6. },function(ret,err){
  7. if (ret.success) {
  8. alert(JSON.stringify(ret));
  9. }else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTag

查看桶标签

getTag({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. tags:[
  4. {
  5. tagKey : 'a' //字符串类型;标签key
  6. tagValue : 'haha' //字符串类型;标签value
  7. },
  8. ...
  9. ]
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.getTag({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. alert(JSON.stringify(ret));
  7. }else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteTag

删除桶标签

deleteTag({params},callback(ret,err))

params

bucketName:

  • 类型:字符串类型
  • 描述:桶的名字
  • 默认:无

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1, // 数值类型;错误code
  3. }

示例代码

  1. var hwOBS = api.require('hwOBS');
  2. hwOBS.deleteTag({
  3. bucketName : 'a'
  4. },function(ret,err){
  5. if (ret.success) {
  6. alert(JSON.stringify(ret));
  7. }else {
  8. alert(JSON.stringify(err));

可提供的1.0.0及更高版本