QCloudPostObjectRestoreRequest.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // PostObjectRestore.h
  3. // PostObjectRestore
  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 QCloudRestoreRequest;
  28. NS_ASSUME_NONNULL_BEGIN
  29. /**
  30. 功能描述
  31. POST Object restore 接口可以对一个通过 COS 归档为 archive 类型的对象进行恢复,恢复出的可读取对象是临时的,您可以设置需要保持可读,以及随后删除该临时副本的时间。
  32. 您可以用 Days 参数来指定临时对象的过期时间,若超出该时间且期间您没有发起任何复制、延长等操作,该临时对象将被系统自动删除。临时对象仅为 archive 类型对象的副本,被归档的源对象在此期间将始终存在。
  33. 恢复模式
  34. 通过 COS 的生命周期功能归档为 archive 类型的对象,是不可以被直接读取的,您需要先将归档的对象通过该接口恢复(复制)成一个临时副本,期间 archive 类型的对象仍然存在。您可以选择以下几种恢复速度的模式:
  35. Expedited:当紧急需要恢复数据时,该模式提供了最快的恢复速度,费用较高 。对于小于 256 MB 的文件,在 1~5 分钟的时间内即可获得临时副本。
  36. Standard:默认为该模式,该模式提供了在 3~5 小时后恢复临时副本的能力,通常适用于不太紧急的恢复任务。
  37. Bulk:该模式的恢复成本最低,适用于在一天内提供副本的数据恢复。通常 Bulk 模式可以在 5~12 小时后提供临时副本。
  38. 恢复功能说明
  39. 查看恢复状态
  40. 通过发起 HEAD Object 请求,您可以获得 archive 类型对象的当前恢复状态,状态于 x-cos-restore 头部中提供。
  41. 延长临时副本的过期时间
  42. 再次发起 POST Object restore,您可以对已经恢复的临时对象进行延期,延期删除的时间将从再次发起请求的时间开始计算。
  43. 如果存储桶包含生命周期的配置,则需注意所配置的过期时间,系统将自动执行较短的过期时间配置。例如生命周期配置了所有对象 3 天过期,而恢复对象时指定了 10 天过期,则临时副本将在 3 天后被删除。
  44. 恢复错误状态
  45. 您无法对于已经在恢复中的对象执行该操作,您将收到如下错误响应:
  46. HTTP/1.1 409 Conflict
  47. 您无法对于一个非 archive 类型的对象执行该操作,您将收到如下响应:
  48. HTTP/1.1 405 Method Not Allowed
  49. */
  50. @interface QCloudPostObjectRestoreRequest : QCloudBizHTTPRequest
  51. /**
  52. 存储桶名
  53. */
  54. @property (strong, nonatomic) NSString *bucket;
  55. /**
  56. 对象名
  57. */
  58. @property (strong, nonatomic) NSString *object;
  59. /**
  60. 恢复数据的配置信息
  61. */
  62. @property (strong, nonatomic) QCloudRestoreRequest *restoreRequest;
  63. @end
  64. NS_ASSUME_NONNULL_END