我需要使用 AWS 开发工具包检查文件是否存在。这是我正在做的事情:
var params = {
Bucket: config.get('s3bucket'),
Key: path
};
s3.getSignedUrl('getObject', params, callback);
它可以工作,但问题是当对象不存在时,回调(带有参数 err 和 url)不会返回错误,当我尝试访问 URL 时,它会显示“NoSuchObject”。
当对象不存在时,这 getSignedUrl
方法不应该返回错误对象吗?如何确定对象是否存在?我真的需要对返回的 URL 进行调用吗?
原文由 Maurício Giordano 发布,翻译遵循 CC BY-SA 4.0 许可协议
在创建签名 URL 之前,您需要检查文件是否直接从存储桶中存在。一种方法是请求 HEAD 元数据。