AWS S3节点sdk copyObject NoSuchKey错误

时间:2017-06-27 03:52:21

标签: amazon-web-services amazon-s3 aws-lambda

更新 我想这可能是因为没有等待Elastic Trnscoder完成这项工作。

我有一个由lambda发起的Amazon Elastic Transcoder作业。我可以在" out"中看到转码后的文件。桶。我正在尝试将此转码文件复制到另一个存储桶,如下所示:

let copyParams = {
 Bucket: "hurontg.video.out.1", 
 CopySource: "hurontg.x3482.video.out/58759ab51e57_transcoded‌​.mp4", // bucket/file exists 
 Key: "58759ab51e57.mp4"
};

 s3.copyObject(copyParams, function(err, data) {
  if (err) {
   console.log(err, err.stack);
  } else {

  }
)};

这导致:

NoSuchKey: The specified key does not exist.

如前所述,我可以验证源存储桶和文件是否存在。不确定此错误意味着什么,因为应在目标存储桶中创建Key

1 个答案:

答案 0 :(得分:0)

您需要确保 CopySource 是 url 编码的,例如CopySource: encodeURIComponent("hurontg.x3482.video.out/58759ab51e57_transcoded‌​.mp4"),

此处有更多详细信息:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#copyObject-property