如何解决来自AWS Amplify的AWS开发工具包中的S3凭证如何更新
我有一个使用Amplify for Auth的应用程序,但是它需要从现有存储桶中读取某些任务。
我可以通过运行类似的东西来获得所需的凭据
#module s3helper.js
let S3
let currentCreds
let essentialCreds
//In a getCreds function
const getCreds = () => new Promise((resolve) => {
currentCreds = await Auth.currentCredentials()
essentialCreds = Auth.essentialCredentials(currentCreds)
S3 = new AWS.S3({credentials: essentialCreds})
resolve()
}
我已经将所有这些都放入了S3 Helper模块中,因此您可以使用类似s3helper.getFromS3(pathToS3File)
之类的东西。
为简单起见,getFromS3
函数如下所示:
const getFromS3 = () => {
await getCreds()
return S3.getObject(...)
getFromS3
方法实际上可以检查凭据是否已过期,如果是,则调用getCreds,但这是最好的方法,每次只使用S3
重新创建S3 = new AWS.S3({credentials: essentialCreds})
他们被替换吗?有更好的方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。