QCloudPutBucketLifecycleRequest.h 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. //
  2. // PutBucketLifecycle.h
  3. // PutBucketLifecycle
  4. //
  5. // Created by tencent
  6. // Copyright (c) 2015年 tencent. All rights reserved.
  7. //
  8. // ██████╗ ██████╗██╗ ██████╗ ██╗ ██╗██████╗ ████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗ █████╗ ██╗ ██╗ █████╗ ██████╗
  9. // ██╔═══██╗██╔════╝██║ ██╔═══██╗██║ ██║██╔══██╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██╔══██╗██║ ██║ ██╔══██╗██╔══██╗
  10. // ██║ ██║██║ ██║ ██║ ██║██║ ██║██║ ██║ ██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║███████║██║ ██║ ███████║██████╔╝
  11. // ██║▄▄ ██║██║ ██║ ██║ ██║██║ ██║██║ ██║ ██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██╔══██║██║ ██║ ██╔══██║██╔══██╗
  12. // ╚██████╔╝╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║██║ ██║███████╗ ███████╗██║ ██║██████╔╝
  13. // ╚══▀▀═╝ ╚═════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝ ╚══════╝╚═╝ ╚═╝╚═════╝
  14. //
  15. //
  16. // _ __ _ _
  17. // (_) / _| | | | |
  18. // ___ ___ _ ____ ___ ___ ___ | |_ ___ _ __ __| | _____ _____| | ___ _ __ ___ _ __ ___
  19. // / __|/ _ \ '__\ \ / / |/ __/ _ \ | _/ _ \| '__| / _` |/ _ \ \ / / _ \ |/ _ \| '_ \ / _ \ '__/ __|
  20. // \__ \ __/ | \ V /| | (_| __/ | || (_) | | | (_| | __/\ V / __/ | (_) | |_) | __/ | \__
  21. // |___/\___|_| \_/ |_|\___\___| |_| \___/|_| \__,_|\___| \_/ \___|_|\___/| .__/ \___|_| |___/
  22. // ______ ______ ______ ______ ______ ______ ______ ______ | |
  23. // |______|______|______|______|______|______|______|______| |_|
  24. //
  25. #import <Foundation/Foundation.h>
  26. #import <QCloudCore/QCloudCore.h>
  27. @class QCloudLifecycleConfiguration;
  28. NS_ASSUME_NONNULL_BEGIN
  29. /**
  30. 设置存储桶(Bucket) 生命周期配置的方法.
  31. COS 支持以生命周期配置的方式来管理 Bucket 中对象的生命周期. 如果该 Bucket 已配置生命周期,新的配置的同时则会覆盖原有的配置. 生命周期配置包含一个或多个将应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作)。这些操作分为以下两种:转换操作,过期操作.
  32. 转换操作,定义对象转换为另一个存储类的时间(例如,您可以选择在对象创建 30 天后将其转换为低频存储类别,同 时也支持将数据沉降到归档存储类别.
  33. 过期操作,指定 Object 的过期时间,COS 将会自动为用户删除过期的 Object.
  34. 关于Bucket 生命周期配置接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8280
  35. cos iOS SDK 中Bucket 生命周期配置的方法具体步骤如下:
  36. 1. 实例化 QCloudPutBucketLifecycleRequest,填入需要的参数。
  37. 2. 调用 QCloudCOSXMLService 对象中的 PutBucketLifecycle 方法发出请求。
  38. 3. 从回调的 finishBlock 中的 outputObject 获取具体内容。
  39. 示例:
  40. @code
  41. QCloudPutBucketLifecycleRequest* request = [QCloudPutBucketLifecycleRequest new];
  42. request.bucket = bukcetName;
  43. __block QCloudLifecycleConfiguration* configuration = [[QCloudLifecycleConfiguration alloc] init];
  44. QCloudLifecycleRule* rule = [[QCloudLifecycleRule alloc] init];
  45. rule.identifier = @"identifier";
  46. rule.status = QCloudLifecycleStatueEnabled;
  47. QCloudLifecycleRuleFilter* filter = [[QCloudLifecycleRuleFilter alloc] init];
  48. filter.prefix = @"0";
  49. rule.filter = filter;
  50. QCloudLifecycleTransition* transition = [[QCloudLifecycleTransition alloc] init];
  51. transition.days = 100;
  52. transition.storageClass = QCloudCOSStorageNearline;
  53. rule.transition = transition;
  54. request.lifeCycle = configuration;
  55. request.lifeCycle.rules = @[rule];
  56. [request setFinishBlock:^(id outputObject, NSError* error) {
  57. //设置完成回调
  58. }];
  59. [[QCloudCOSXMLService defaultCOSXML] PutBucketLifecycle:request];
  60. @endcode
  61. */
  62. @interface QCloudPutBucketLifecycleRequest : QCloudBizHTTPRequest
  63. /**
  64. 设置存储桶(Bucket) 生命周期配置的方法.
  65. COS 支持以生命周期配置的方式来管理 Bucket 中对象的生命周期. 如果该 Bucket 已配置生命周期,新的配置的同时则会覆盖原有的配置. 生命周期配置包含一个或多个将应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作)。这些操作分为以下两种:转换操作,过期操作.
  66. 转换操作,定义对象转换为另一个存储类的时间(例如,您可以选择在对象创建 30 天后将其转换为低频存储类别,同 时也支持将数据沉降到归档存储类别.
  67. 过期操作,指定 Object 的过期时间,COS 将会自动为用户删除过期的 Object.
  68. 关于Bucket 生命周期配置接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8280
  69. cos iOS SDK 中Bucket 生命周期配置的方法具体步骤如下:
  70. 1. 实例化 QCloudPutBucketLifecycleRequest,填入需要的参数。
  71. 2. 调用 QCloudCOSXMLService 对象中的 PutBucketLifecycle 方法发出请求。
  72. 3. 从回调的 finishBlock 中的 outputObject 获取具体内容。
  73. 示例:
  74. @code
  75. QCloudPutBucketLifecycleRequest* request = [QCloudPutBucketLifecycleRequest new];
  76. request.bucket = bukcetName;
  77. __block QCloudLifecycleConfiguration* configuration = [[QCloudLifecycleConfiguration alloc] init];
  78. QCloudLifecycleRule* rule = [[QCloudLifecycleRule alloc] init];
  79. rule.identifier = @"identifier";
  80. rule.status = QCloudLifecycleStatueEnabled;
  81. QCloudLifecycleRuleFilter* filter = [[QCloudLifecycleRuleFilter alloc] init];
  82. filter.prefix = @"0";
  83. rule.filter = filter;
  84. QCloudLifecycleTransition* transition = [[QCloudLifecycleTransition alloc] init];
  85. transition.days = 100;
  86. transition.storageClass = QCloudCOSStorageNearline;
  87. rule.transition = transition;
  88. request.lifeCycle = configuration;
  89. request.lifeCycle.rules = @[rule];
  90. [request setFinishBlock:^(id outputObject, NSError* error) {
  91. //设置完成回调
  92. }];
  93. [[QCloudCOSXMLService defaultCOSXML] PutBucketLifecycle:request];
  94. @endcode
  95. */
  96. @property (strong, nonatomic) QCloudLifecycleConfiguration *lifeCycle;
  97. /**
  98. 存储桶名
  99. */
  100. @property (strong, nonatomic) NSString *bucket;
  101. @end
  102. NS_ASSUME_NONNULL_END