【问题标题】:AWS S3 CopyObject VersionAWS S3 CopyObject 版本
【发布时间】:2013-12-09 10:10:09
【问题描述】:

我正在尝试通过创建旧对象版本的副本来实现“恢复”对象。

我正在使用 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);

问题

如何指定源对象的 versionID?

【问题讨论】:

标签: php amazon-web-services amazon-s3


【解决方案1】:

感谢AWS Discussion forum,我找到了答案。 正确的参数设置是

$param = array(
  'Bucket' => $this->bucket,
  'CopySource' => urlencode($this->bucket . $this->delimiter . $source_key) . '?versionId=' . $source_version_id,
  'Key' => $dest_key
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 2017-02-11
    • 1970-01-01
    • 2016-12-26
    • 2023-04-10
    • 1970-01-01
    • 2022-08-02
    相关资源
    最近更新 更多