如何解决s3 getSignedUrl 未在heroku 中返回正确的网址
我在 Heroku 中成功部署了以下代码:
const s3 = new AWS.S3()
AWS.config.update({accessKeyId: process.env.NODE_APP_ACCESS_ID,secretAccessKey: process.env.NODE_APP_ACCESS_KEY})
return new Promise((resolve,reject) => {
//get presigned url
var myBucket = process.env.NODE_APP_BUCKET_NAME;
console.log(myBucket); //this logs correct bucket in heroku logs
var myKey = "sounds/" + customer_id + "/" + sound_id + ".wav";
console.log(myKey); //this logs correct key in heroku logs
const signedUrlExpireSeconds = 60 * 5;
try {
const url = s3.getSignedUrl('getobject',{
Bucket: myBucket,Key: myKey,Expires: signedUrlExpireSeconds
});
console.log(url);
resolve(url)
}
catch {
console.log('S3 Object does not exist');
resolve('');
}
});
在本地测试中,正确的 url 会由此返回。但是,在 Heroku(即使输入正确)中,我将其作为输出:https://s3.amazonaws.com/
。不确定我在这里做错了什么,因为它在本地工作......
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。