更新时间:2024-06-21 GMT+08:00
OBS客户端通用示例
开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。
使用OBS客户端进行接口调用操作完成后,没有异常抛出,则表明返回值有效,返回SDK公共响应头实例或其子类实例;如果抛出异常,则说明操作失败,此时应从SDK自定义异常实例中获取错误信息。
以下代码展示了使用OBS客户端的通用方式:
// 您的工程中可以只保留一个全局的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) { } } }
父主题: 快速入门