使用批量操作还原对象
可以使用 Amazon S3 批量操作对 Amazon S3 对象执行大规模批量操作。还原操作启动对清单中列出的已归档 Amazon S3 对象的还原请求。必须先还原以下归档对象,然后才能实时访问这些对象:
-
在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类中归档的对象
-
通过归档访问层或深度归档访问层中的 S3 Intelligent-Tiering 存储类归档的对象
在 S3 批量操作任务中使用还原(S3InitiateRestoreObjectOperation)操作,会导致针对在清单中指定的每个对象发出 RestoreObject
请求。
重要
还原任务仅启动 还原对象的请求。在为每个对象启动请求后,S3 分批操作将对象的任务报告为完成。还原对象时,Amazon S3 不会更新任务或以其他方式通知您。不过,当对象在 Amazon S3 中可用时,您可以使用 S3 事件通知来接收通知。有关更多信息,请参阅 Amazon S3 事件通知。
当您创建还原任务时,可以使用以下参数:
- ExpirationInDays
-
此参数用于指定 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 对象在 Amazon S3 中保持可用的时长。以 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 对象为目标的还原任务要求您将
ExpirationInDays
设置为1
或更大的值。重要
在创建以 S3 Intelligent-Tiering 归档访问和深度归档访问层对象为目标的还原操作任务时,请勿设置
ExpirationInDays
。S3 Intelligent-Tiering 归档访问层中的对象不受还原到期的限制,因此指定ExpirationInDays
会导致RestoreObject
请求失败。 - GlacierJobTier
-
Amazon S3 可以使用三个不同的检索层之一还原对象:
EXPEDITED
、STANDARD
和BULK
。但是,S3 分批操作功能仅支持STANDARD
和BULK
检索层。有关各检索层之间的差异的更多信息,请参阅了解归档检索选项。有关每层定价的更多信息,请参阅 Amazon S3 定价
页面上的请求和数据检索部分。
从 S3 Glacier 和 S3 Intelligent-Tiering 还原时的区别
从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类还原归档文件与从归档访问层或深度归档访问层中的 S3 Intelligent-Tiering 存储类恢复文件不同。
-
当您从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 中还原时,将创建对象的临时副本。Amazon S3 会在
ExpirationInDays
参数中指定的值过期后删除此副本。删除此临时副本后,您必须提交额外的还原请求才能访问该对象。 -
还原归档的 S3 Intelligent-Tiering 对象时,请勿指定
ExpirationInDays
参数。当您从 S3 Intelligent-Tiering 归档访问层或深度归档访问层还原对象时,此对象会转换回 S3 Intelligent-Tiering 频繁访问层中。在至少连续 90 天无访问后,对象会自动转换到归档访问层。在至少连续 180 天无访问后,对象会自动移动到深度归档访问层。 -
批量操作任务既可以在 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 存储类对象上运行,也可以在 S3 Intelligent-Tiering 归档访问和深度归档访问存储层对象上运行。批量操作不能在同一个任务中对两种类型的归档对象进行操作。要还原两种类型的对象,必须创建单独的分批操作任务。
重叠还原
如果 S3InitiateRestoreObjectOperation 任务尝试还原已处于还原过程中的对象,S3 批量操作的过程如下所示。
如果满足以下任意条件,对象的还原操作将成功:
-
与已在进行的还原请求相比,此任务的
ExpirationInDays
值相同,而其GlacierJobTier
值更快。 -
之前的还原请求已完成,对象当前已可用。在这种情况下,批量操作会更新已还原对象的过期日期,以便与在正在进行的还原请求中指定的
ExpirationInDays
值匹配。
如果满足以下任意条件,对象的还原操作失败:
-
已在进行的还原请求尚未完成,并且此任务的还原持续时间(由
ExpirationInDays
值指定)不同于在正在进行的还原请求中指定的还原持续时间。 -
此任务的还原层(由
GlacierJobTier
值指定)与在正进行的还原请求中指定的还原层速度相同或更慢。
限制
S3InitiateRestoreObjectOperation
任务具有以下限制:
-
您必须在与归档对象相同的区域中创建任务。
-
S3 批量操作不支持
EXPEDITED
检索层。
有关还原对象的更多信息,请参阅 恢复已归档的对象。