当我尝试从 s3 检索文件时遇到问题。我能够按预期连接到 s3 存储桶但是当我尝试检索该文件时,出现以下错误。正在从我的处获取凭据./aws/credentials
and 我可以使用 AWS CLI 从本地下载相同的文件。有什么想法这里可能有什么问题吗?
Error:
awsError
code = ExpiredToken
message = The provided token has expired.
statusCode = 400
Result, err := client.GetObject(&s3.GetObjectInput{
Bucket: &bucket,
Key: &Key,
ResponseContentType: aws.String("application/json"),
})
if err != nil {
logger.Errorf("Unable to retrieve file the file", err.Error())
return nil, http.StatusInternalServerError
}
过期的令牌通常意味着IAM role假设在 S3 上执行一些操作已过期。在这种情况下,应重新假定该规则以获得所假定角色的新临时凭证。
当您将 AWS CLI 与来自以下位置的凭证一起使用时./aws/credentials
您通常使用 IAM 用户的凭证。与 IAM 角色不同,这些凭证是永恒的.
您的案例中使用哪个 IAM 角色取决于您的代码的执行方式和位置。问题中没有太多细节,因此很难推测。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)