对归档、冷归档、深度冷归档的OSS文件进行解冻后,您需要确认文件已完成解冻以进行读取。对于大量文件,您可以调用相关接口指定某个前缀来批量查看文件的解冻状态信息。对于少量文件,您可以调用HeadObject接口精确指定文件名来查看文件的解冻状态信息。
批量查看文件的解冻状态
如果文件数量较多,要批量查看文件的解冻状态,您可以调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口并检查响应元素RestoreInfo
来获取解冻状态信息:
未解冻或解冻超时,没有
RestoreInfo
字段返回。解冻中,
RestoreInfo
字段会显示ongoing-request="true"
。解冻完成,
RestoreInfo
字段将会显示ongoing-request="false"
,并且会包含一个expiry-date
,它表示对象可读状态的截止时间。
注意事项
调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口时,不支持指定文件的存储类型。如果需要在返回结果中筛选出归档、冷归档、深度冷归档等存储类型的文件,您必须手动检查每个文件的storage-class
属性,并进行客户端过滤。
权限说明
要批量查看文件的解冻状态,您必须具有
oss:ListObjects
权限。要批量查看所有版本的文件的解冻状态,您必须具有
oss:ListObjectVersions
权限。更多信息,请参见为RAM用户授权自定义的权限策略。
OSS控制台和命令行工具ossutil不支持通过调用ListObjectsV2
、ListObjects
、ListObjectVersions
接口批量查看文件的解冻状态。
使用阿里云SDK
使用REST API
查看指定文件的解冻状态
如果文件数量较少,您可以调用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用户授权自定义的权限策略。