对象存储服务 OBS-设置对象生命周期

时间:2025-02-12 14:54:57

设置对象生命周期

开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。

上传对象或者初始化分段上传任务时,您可以直接指定对象的过期时间。示例代码如下:

// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AC CES S_KEY_ID和SECRET_ACCESS_KEY_ID。// 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.htmlString ak = System.getenv("ACCESS_KEY_ID");String sk = System.getenv("SECRET_ACCESS_KEY_ID");String endPoint = "https://your-endpoint";// 创建ObsClient实例ObsClient obsClient = new ObsClient(ak, sk, endPoint); try {      PutObjectRequest request = new PutObjectRequest();      request.setBucketName("examplebucket");      request.setObjectKey("objectname");      request.setFile(new File("localfile"));      // 上传对象时,设置对象30天后过期      request.setExpires(30);      obsClient.putObject(request);      // InitiateMultipartUploadRequest request2 = new InitiateMultipartUploadRequest("bucketname", "objectname");       //// 初始化分段上传任务时,设置合并段后生成的对象60天后过期       // request2.setExpires(60);       //obsClient.initiateMultipartUpload(request);      System.out.println("putObject successfully");   } catch (ObsException e) {      System.out.println("putObject failed");      // 请求失败,打印http状态码      System.out.println("HTTP Code:" + e.getResponseCode());      // 请求失败,打印服务端错误码      System.out.println("Error Code:" + e.getErrorCode());      // 请求失败,打印详细错误信息      System.out.println("Error Message:" + e.getErrorMessage());      // 请求失败,打印请求id      System.out.println("Request ID:" + e.getErrorRequestId());      System.out.println("Host ID:" + e.getErrorHostId());      e.printStackTrace();  } catch (Exception e) {      System.out.println("putObject failed");      // 其他异常信息打印      e.printStackTrace();  }
  • 该方式仅支持设置以天为单位的对象过期时间,过期后的对象会被OBS服务端自动清理。
  • 该方式设置的对象过期时间,其优先级高于桶生命周期规则。
support.huaweicloud.com/sdk-android-devg-obs/obs_26_0408.html