Ras*_*ric 3 php amazon-s3 amazon-web-services
我正在尝试通过创建旧对象版本的副本来实现“恢复”对象。
我正在使用 AWS PHP SDK 2,方法copyObject,但我找不到指定源对象的 versionID 的方法。
AWS REST API 文档 ( ref ) 提到
要复制不同的版本,请使用 versionId 子资源。
但它在 SDK 文档中没有提到。
我试图将 versionID 添加到“CopySource”属性,SDK 文档说它是
源桶的名称和源对象的键名,用斜线(/)分隔
但它没有用。
$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);
Run Code Online (Sandbox Code Playgroud)
如何指定源对象的 versionID?
感谢AWS 讨论论坛,我找到了答案。正确的参数设置是
$param = array(
'Bucket' => $this->bucket,
'CopySource' => urlencode($this->bucket . $this->delimiter . $source_key) . '?versionId=' . $source_version_id,
'Key' => $dest_key
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2672 次 |
| 最近记录: |