hwOBS
来自于:开发者立即使用
initClient createBucket listBucket deleteBucket getBucket uploadFile listObject getObject deleteObject setTag getTag deleteTag
概述
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及更高版本