更新时间:2023-11-09 GMT+08:00

SDK公共结果对象

调用ObsClient的相关接口完成后,如异常信息参数为空,则均会返回公共结果对象。该对象包含的内容见下表:

字段名

类型

说明

CommonMsg

Object

接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等。

  

Status

Number

HTTP状态码,小于300表明操作成功;反之,表明操作失败。

Code

String

OBS服务端错误码,当Status小于300时为空。

Message

String

OBS服务端错误描述,当Status小于300时为空。

HostId

String

请求的服务端ID,当Status小于300时为空。

RequestId

String

OBS服务端返回的请求ID。

Id2

String

OBS服务端返回的请求ID2。

Indicator

String

OBS服务端返回的详细错误码,当Status小于300时为空。

InterfaceResult

Object

操作成功后的结果数据,当Status大于300时为空。

  

RequestId

String

OBS服务端返回的请求ID。

Id2

String

OBS服务端返回的请求ID2。

其他字段

请查阅《对象存储服务BrowserJS SDK API参考》。

处理公共结果对象的示例代码如下:

// 创建ObsClient实例
var obsClient = new ObsClient({
    // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。
    // 前端本身没有process对象,可以使用webpack类打包工具定义环境变量,就可以在代码中运行了。
    // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/intl/zh-cn/usermanual-ca/ca_01_0003.html
    access_key_id: process.env.AccessKeyID,
    secret_access_key: process.env.SecretAccessKey,
    //这里以中国-香港为例,其他地区请按实际情况填写
    server: 'https://obs.ap-southeast-1.myhuaweicloud.com'
    
});

// 调用接口进行操作,例如下载对象
obsClient.getObject({
       Bucket : 'bucketname',
       Key : 'objectname',
}, function (err, result) {
       if(!err){
              if(result.CommonMsg.Status < 300){
                     // 获取RequestId
                     console.log('RequestId-->' + result.InterfaceResult.RequestId);
                     // 获取其他参数
                     console.log('Content-->' + result.InterfaceResult.Content);
              }else{
                     // 获取Code和Message
                     console.log('Code-->' + result.CommonMsg.Code); 
                     console.log('Message-->' + result.CommonMsg.Message);
              }
       }
});