从 s3 检索文件失败,并显示“提供的令牌已过期”。不过,相同的文件适用于 AWS CLI

2024-02-13

当我尝试从 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(使用前将#替换为@)

从 s3 检索文件失败,并显示“提供的令牌已过期”。不过,相同的文件适用于 AWS CLI 的相关文章

随机推荐