【发布时间】:2019-01-13 12:37:57
【问题描述】:
我想在 aws s3 存储桶中复制一个文件夹。我能够复制文件,但要求是我应该能够用其他名称复制整个 s3 文件夹。
示例:如果文件夹名称为project1,我需要将其复制为project1-copy 在名为my_bucket 的存储桶中。我试过下面的代码。
$s3->copyObject([
'Bucket' => my_bucket,
'Key' => "project-copy",
'CopySource' => "my_bucket/project1",
]);
也可以反转为
$s3->copyObject([
'Bucket' => my_bucket,
'Key' => "project1",
'CopySource' => "my_bucket/project-copy",
]);
在这两种情况下,我都会收到错误
在执行“CopyObject”时出错 "https://s3.us-east-1.amazonaws.com/my_bucket/project1/"; AWS HTTP 错误:客户端错误:
PUT https://s3.us-east-1.amazonaws.com/my_bucket/project1/导致404 Not Found回复:NoSuchKey 指定的key没有 exists.34/F992013F6C3125(截断...) NoSuchKey(客户端): 指定的键不存在。 - NoSuchKey 指定的键没有 存在.34/F992013F6C312535YLrCcHhYJzimIKoR2knMvD3smhUbH75piDYTIx5SpKCPNkeWIifaYhKgezxnhpZzOHflzQngTnE=那里 上传时出错
而且我确信我使用了正确的区域和文件夹名称以及存储桶名称。 仍然收到上述错误。我该如何解决这个问题?
【问题讨论】:
标签: amazon-web-services api amazon-s3 copy aws-php-sdk