0

尝试使用 copyObject 命令 (AWS S3) 时出现以下错误。我正在使用 AWS PHP SDK,代码如下:

$this->client->copyObject(array(
    'Bucket'     => 'lms-courses',
    'Key'        => 'ideasfile.zip',
    'CopySource' => "lms-courses/lalala.zip",
));

在“ https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip ”上执行“CopyObject”时出错;AWS HTTP 错误:客户端错误:PUT https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip导致404 Not Found响应: NoSuchKey指定的密钥不存在。lalala.zipE698888(截断...) NoSuchKey(客户端):指定的密钥不存在。- NoSuchKey指定的密钥不存在.lalala.zipE698888912B810F7DfHtqN5Hls4hGdTGY/pVv36XZPzoM4mJ5fAdhJjEjDufNUArvKCrqN27SjiG06u5hnC8G8yPdzA=

我一直在为这个错误苦苦挣扎一段时间。桶lms-courses存在, 也存在ideasfile.zip。我什至手动将该文件添加到存储桶中,只是为了测试它 - 以防它没有正确上传或其他什么。

我不明白为什么它说密钥不存在,而它显然存在 - 我正在查看它。

4

1 回答 1

5

该错误表示源对象lalala.zip不存在。你确定lms-courses/lalala.zip存在吗?

根据Copy an Object Using the AWS SDK for PHP

// Copy an object.
$s3->copyObject(array(
    'Bucket'     => $targetBucket,
    'Key'        => $targetKeyname,
    'CopySource' => "{$sourceBucket}/{$sourceKeyname}",
));
于 2016-03-20T02:12:04.670 回答