更新
我想这可能是因为没有等待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
?
答案 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