继续获取使用 AWS S3 CopyObject 命令时未找到的密钥


Keep getting key not found when using AWS S3 CopyObject command

尝试使用 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";自主技术 HTTP 错误:客户端错误:导致PUT https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip404 Not Found响应中: 无此键指定的键不 exist.lalala.zipE698888 (截断...) NoSuchKey (客户端):指定的密钥不存在。- 无此键指定的键不 exist.lalala.zipE698888912B810F7DfHtqN5Hls4hGdTGY/pVv36XZPzoM4mJ5fAdhJjEjDufNUArvKCrqN27SjiG06u5hnC8G8yPdzA=

我已经为这个错误而苦苦挣扎了一段时间。存储桶lms-courses存在,ideasfile.zip 也是如此。我什至手动将该文件添加到存储桶中,只是为了以这种方式对其进行测试 - 以防它无法正确上传或其他内容。

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

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

根据使用适用于 PHP 的 AWS 开发工具包复制对象

// Copy an object.
$s3->copyObject(array(
    'Bucket'     => $targetBucket,
    'Key'        => $targetKeyname,
    'CopySource' => "{$sourceBucket}/{$sourceKeyname}",
));