我正在尝试通过创建旧对象版本的副本来实现“恢复”对象。
我正在使用 AWS PHP SDK 2,方法 copyObject , 但我找不到指定源对象的 versionID 的方法。
AWS REST API 文档 ( ref) 提到
To copy a different version, use the versionId subresource.
但是SDK文档中没有提到。
我试图将 versionID 添加到“CopySource”属性,SDK 文档说是
The name of the source bucket and key name of the source object, separated by a slash (/)
但是没有用。
$param = array(
'Bucket' => $this->bucket,
'CopySource' => urlencode($this->bucket . $this->delimiter . $source_key . $this->delimiter . $source_version_id),
'Key' => $dest_key
);
$result = $this->s3Client->copyObject($param);
问题
如何指定源对象的版本ID?
最佳答案
感谢 AWS Discussion forum,我找到了答案. 正确的参数设置是
$param = array(
'Bucket' => $this->bucket,
'CopySource' => urlencode($this->bucket . $this->delimiter . $source_key) . '?versionId=' . $source_version_id,
'Key' => $dest_key
);
关于php - AWS S3 CopyObject 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467901/