
# OBS客户端通用示例
![](https://support.huaweicloud.com/sdk-android-devg-obs/public_sys-resources/notice_3.0-zh-cn.png)
开发过程中，您有任何问题可以在github上[提交issue](https://github.com/huaweicloud/huaweicloud-sdk-java-obs/issues)，或者在[华为云对象存储服务论坛](https://bbs.huaweicloud.com/forum/forum-620-1.html)中发帖求助。[接口参考文档](https://obssdk.obs.cn-north-1.myhuaweicloud.com/apidoc/cn/android/index.html)详细介绍了每个接口的参数和使用方法。
使用OBS客户端进行接口调用操作完成后，没有异常抛出，则表明返回值有效，返回[SDK公共响应头](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_1602.html)实例或其子类实例；如果抛出异常，则说明操作失败，此时应从[SDK自定义异常](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_1608.html)实例中获取错误信息。
OBS客户端的通用方式用于上传本地"localfile"到桶名为"bucketname"里，名称为"objectname"。
代码示例如下所示：
```
// 您的工程中可以只保留一个全局的ObsClient实例
// ObsClient是线程安全的，可在并发场景下使用
ObsClient obsClient = null; 
try
{
     // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险，建议在配置文件或者环境变量中密文存放，使用时解密，确保安全；本示例以ak和sk保存在环境变量中为例，运行本示例前请先在本地环境中设置环境变  量AccessKeyID和SecretAccessKey。
    // 您可以登录访问管理控制台获取访问密钥AK/SK，获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
    String ak = System.getenv("ACCESS_KEY_ID");
    String sk = System.getenv("SECRET_ACCESS_KEY_ID");
    String endPoint = "https://your-endpoint";
    // 创建ObsClient实例
    obsClient = new ObsClient(ak, sk, endPoint);
    // 调用接口进行操作，例如上传对象，其中localfile为待上传的本地文件路径，需要指定到具体的文件名
    HeaderResponse response = obsClient.putObject("bucketname", "objectname", new File("localfile"));
    Log.i("PutObject", response);
}
catch (ObsException e)
{
    Log.e("PutObject", "Response Code: " + e.getResponseCode());
    Log.e("PutObject", "Error Message: " + e.getErrorMessage());
    Log.e("PutObject", "Error Code:       " + e.getErrorCode());
    Log.e("PutObject", "Request ID:      " + e.getErrorRequestId());
    Log.e("PutObject", "Host ID:           " + e.getErrorHostId());
}finally{
    // 关闭ObsClient实例，如果是全局ObsClient实例，可以不在每个方法调用完成后关闭
    // ObsClient在调用ObsClient.close方法关闭后不能再次使用
    if(obsClient != null){
        try
        {
            obsClient.close();
        }
        catch (IOException e)
        {
        }
    }
}
```
