对归档、冷归档、深度冷归档的OSS文件进行解冻后,要确认文件已完成解冻以进行读取,对于大量文件,您可以调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口指定某个前缀(prefix)来批量查看文件的解冻状态信息,通过响应元素RestoreInfo
进行判断;对于少量文件,您可以调用HeadObject
接口精确指定文件名(key)来查看文件的解冻状态信息,通过响应头x-oss-restore
进行判断。
批量查看文件的解冻状态
如果文件数量较多,要批量查看文件的解冻状态,您可以调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口并检查响应元素RestoreInfo
来获取解冻状态信息:
如果没有进行解冻操作,或者解冻操作已经超时,没有
RestoreInfo
字段返回。如果进行了解冻操作,但解冻未完成,
RestoreInfo
字段会显示ongoing-request="true"
。如果进行了解冻操作,且解冻完成,
RestoreInfo
字段将会显示ongoing-request="false"
,并且会包含一个expiry-date
,它表示对象可读状态的截止时间。
注意事项
调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口时,不支持指定文件的存储类型。如果需要在返回结果种筛选出归档、冷归档、深度冷归档等存储类型的文件,您必须手动检查每个文件的storage-class
属性,并进行客户端过滤。
权限说明
要批量查看文件的解冻状态,您必须具有
oss:ListObjects
权限。具体操作,请参见为RAM用户授权自定义的权限策略。要批量查看所有版本的文件的解冻状态,您必须具有
oss:ListObjectVersions
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
OSS控制台和命令行工具ossutil不支持通过调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口批量查看文件的解冻状态。
查看指定文件的解冻状态
如果文件数量较少,要查看指定文件的解冻状态,您可以调用HeadObject
接口并检查返回头x-oss-restore
来获取解冻状态信息:
如果没有进行解冻操作,或者解冻操作已经超时,那么
x-oss-restore
字段不会返回。如果进行了解冻操作,但解冻未完成,
x-oss-restore
字段会显示ongoing-request="true"
。如果进行了解冻操作,且解冻完成,
x-oss-restore
字段将会显示ongoing-request="false"
,并且会包含一个expiry-date
,它表示对象可读状态的截止时间。
注意事项
如果文件数量较多,调用HeadObject
接口查看文件的解冻状态会产生较高的GET请求费用。更多信息,请参见请求费用。
权限说明
要查看指定文件的解冻状态,您必须具有oss:GetObject
权限。具体操作,请参见为RAM用户授权自定义的权限策略。