gpt4 book ai didi

python - S3 : ExpiredToken error for S3 pre-signed url within expiry period

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:08 26 4
gpt4 key购买 nike

这就是我从 python 脚本为 S3 对象生成预签名 url 的方式。

s3client = boto3.client("s3")
url = s3client.generate_presigned_url("get_object", Params={"Bucket": args.bucket, "Key": dated_filename}, ExpiresIn=86400)

我给出 24 小时到期的地方。

当我尝试使用浏览器中的 url 立即下载文件时,它起作用了。但是,如果我尝试下载它,比如 10-12 小时后,它就不起作用(我不知道它开始失败的确切时间)。

这是我遇到的错误。

<Code>ExpiredToken</Code>
<Message>The provided token has expired.</Message>

不确定这是一个错误还是我没有以正确的方式进行。任何帮助将不胜感激。

最佳答案

您是否在 IAM 角色下运行?预签名 URL 仅在生成它时使用的 session key 有效。如果您作为 IAM 用户使用长期访问 key 进行身份验证,这不是问题。但 IAM 角色使用每 36 小时循环一次的临时访问 key 。

您知道您的 session key 已过期,因为您收到“提供的 token 已过期”。错误,这(如上所述)与您在预签名 URL 达到其到期日期时收到的“请求已过期”是不同的错误消息。

此外,预签名 URL 有 7 天的硬性限制 - 但这似乎不是您的问题。

关于python - S3 : ExpiredToken error for S3 pre-signed url within expiry period,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42951040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com