2016-03-20 99 views
0

尝试使用copyObject命令(AWS S3)时出现以下错误。我使用的是AWS PHP SDK,这里是代码:使用AWS S3 CopyObject命令时未找到密钥

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

Error executing "CopyObject" on " https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip "; AWS HTTP error: Client error: PUT https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip resulted in a 404 Not Found response: NoSuchKey The specified key does not exist.lalala.zipE698888 (truncated...) NoSuchKey (client): The specified key does not exist. - NoSuchKey The specified key does not exist.lalala.zipE698888912B810F7DfHtqN5Hls4hGdTGY/pVv36XZPzoM4mJ5fAdhJjEjDufNUArvKCrqN27SjiG06u5hnC8G8yPdzA=

我一直在挣扎与此错误一段时间了。水桶lms-courses存在,ideasfile.zip也存在。我甚至手动将该文件添加到存储桶中,只是为了以这种方式进行测试 - 以防上传不当或其他问题。

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

回答

4

错误表示源对象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}", 
)); 
+0

03,我有这样的事情向后的全部时间 - ideasfile.zip和lalala.zip需要被交换。我是一个白痴。 – xil3