使用AWS S3 CopyObject命令时,继续获取密钥

时间:2016-03-20 02:00:10

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

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

PUT
  https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip
  

执行“CopyObject”时出错   “https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip”; AWS   HTTP错误:客户端错误:404 Not Found结果   在NoSuchKey回复中:   NoSuchKey指定的密钥没有   exist.lalala.zipE698888(截断...)   NoSuchKey(客户端):指定的密钥不存在。 -   lms-courses指定的密钥没有   exist.lalala.zipE698888912B810F7DfHtqN5Hls4hGdTGY / pVv36XZPzoM4mJ5fAdhJjEjDufNUArvKCrqN27SjiG06u5hnC8G8yPdzA =

我一直在努力解决这个错误。存储桶ideasfile.zip存在,{{1}}也存在。我甚至手动将该文件添加到存储桶中,只是为了测试它 - 如果它没有正确上传或者其他东西。

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

1 个答案:

答案 0 :(得分: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}",
));