gpt4 book ai didi

amazon-web-services - 多年来无法预签名 URL?

转载 作者:数据小太阳 更新时间:2023-10-29 03:46:06 31 4
gpt4 key购买 nike

签名版本 4 最多可使用一周。在 Python 中我做了:

s3_client = boto3.client('s3',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
config=botocore.client.Config(signature_version='s3')
)

return s3_client.generate_presigned_url(
'get_object',
Params={
'Bucket': bucket_name,
'Key': key
},
ExpiresIn=400000000) # this is a max: ~ten years

但是对于 Go 我只找到了 func (*Request) Presign :

req, _ := s3Client.GetObjectRequest(&s3.GetObjectInput{
Bucket: aws.String(bucketName),
Key: &key,
})
tenYears := time.Now().AddDate(10, 0, 0).Sub(time.Now())
url, err := req.Presign(tenYears)

此类 URL 的 HTTP 响应是:AuthorizationQueryParametersError:X-Amz-Expires 必须少于一周(以秒为单位);也就是说,给定的 X-Amz-Expires 必须小于 604800 秒。

多年来一直无法使用 AWS SDK 在 Go 中预签名 URL?

最佳答案

如果您想预签名 URL 超过一周,那么您的预签名 URL 用例无效。 According to the spec真的只有一周。

预签名 URL 通常用于仅将 S3 中的内容提供给经过身份验证的用户。

关于amazon-web-services - 多年来无法预签名 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54559833/

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