hwOBS

来自于:开发者立即使用

概述

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

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

常用概念

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

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

快速入门

快速入门

initClient

初始化OBS客户端

initClient({params})

params

accessKey:

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

secretKey:

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

endPoint:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.initClient({
                     accessKey : 'WAE4Z9RA3NPSKFFGCFRW',
                     secretKey : 'AR6hxRkROPXWNV881jMlypJHTYmkMYBNtqATiZHs',
                     endPoint : 'obs.cn-north-1.myhuaweicloud.com',
                     });

可用性

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 对象
  • 内部字段:
{
    success: true,   //布尔类型;是否成功
}

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.createBucket({
                     bucketName : 'a'
                   },function(ret,err){
                       if (ret.success) {
                            alert(JSON.stringify(ret));
                       }else {
                            alert(JSON.stringify(err));
                       }
                   });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

listBucket

列举桶

listBucket(callback(ret,err))

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.listBucket(function(ret,err){
                       if (ret.success) {
                           alert(JSON.stringify(ret));
                       }else {
                           alert(JSON.stringify(err));
                       }
                  });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteBucket

删除桶

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

params

bucketName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.deleteBucket({
                       bucketName : 'a'
                   },function(ret,err){
                       if (ret.success) {
                           alert(JSON.stringify(ret));
                       }else {
                           alert(JSON.stringify(err));
                       }
                   });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocation

获取桶区域位置

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

params

bucketName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.getLocation({
                       bucketName : 'a'
                   },function(ret,err){
                       if (ret.success) {
                               alert(JSON.stringify(ret));
                       }else {
                             alert(JSON.stringify(err));
                       }
                   });

可用性

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 对象
  • 内部字段:
{
    success: true,   //布尔类型;是否成功
    progress: 0.5,    //数值类型;上传进度
}

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.uploadFile({
                     path : 'widget://image/haha.png',
                     bucketName : 'a',
                     objectKey : 'object'
                },function(ret,err){
                    if (ret.success) {
                            alert(JSON.stringify(ret));
                    }else {
                          alert(JSON.stringify(err));
                    }
               });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

listObject

列举对象

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

params

bucketName:

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

prefix:

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

count:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.listObject({
                     bucketName : 'a'
                 },function(ret,err){
                     if (ret.success) {
                         alert(JSON.stringify(ret));
                     }else {
                           alert(JSON.stringify(err));
                     }
                 });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getObject

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

getObject({params},callback(ret))

params

bucketName:

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

objectKey:

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

savePath:

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

callback(ret)

ret:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.getObject({
    bucketName:'',
    objectKey:'',
    savePath:''
},function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteObject

删除对象

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

params

bucketName:

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

objectKey:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.deleteObject({
                     bucketName : 'a'
                 },function(ret,err){
                     if (ret.success) {
                         alert(JSON.stringify(ret));
                     }else {
                           alert(JSON.stringify(err));
                     }
                 });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTag

设置桶标签

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

params

bucketName:

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

tagKey:

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

tagValue:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.setTag({
                       bucketName : 'a',
                       tagKey : 'tagKey',
                       tagValue : 'tagValue',
               },function(ret,err){
                       if (ret.success) {
                               alert(JSON.stringify(ret));
                       }else {
                                alert(JSON.stringify(err));
                       }
               });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTag

查看桶标签

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

params

bucketName:

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

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    success: true,                  //布尔类型;是否成功
    tags:[
     {
        tagKey : 'a'               //字符串类型;标签key
        tagValue : 'haha'          //字符串类型;标签value
     },
     ...
    ]
}

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.getTag({
                 bucketName : 'a'
             },function(ret,err){
                 if (ret.success) {
                         alert(JSON.stringify(ret));
                 }else {
                         alert(JSON.stringify(err));
                 }
             });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteTag

删除桶标签

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

params

bucketName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var hwOBS = api.require('hwOBS');
hwOBS.deleteTag({
                         bucketName : 'a'
                 },function(ret,err){
                     if (ret.success) {
                         alert(JSON.stringify(ret));
                     }else {
                         alert(JSON.stringify(err));
                     }
             });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本