简体   繁体   English

boto3 s3 generate_presigned_url ExpiresIn 无法按预期工作

[英]boto3 s3 generate_presigned_url ExpiresIn doesn't work as expected

I have tried to generate pre-signed URL with 7dsys expiration time.我试图生成具有 7dsys 到期时间pre-signed URL (It is saying maximum duration is 7days, AWS S3 pre signed URL without Expiry date ) (也就是说最长持续时间是 7 天, AWS S3 预签名 URL 没有到期日期

# It is called and retruned in AWS Lambda
boto3.client('s3').generate_presigned_url(
    'get_object',
    Params={'Bucket': bucket, 'Key': object_key},
    ExpiresIn=(60*60*24*7)  # 7days
)

However, it seems not to retain the pre-signed URL for 7days but just several hours.但是,它似乎不会将pre-signed URL保留 7 天,而只是几个小时。 The pre-signed URL just returns the XML format after that. pre-signed URL之后只返回 XML 格式。

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

It seems even to be different expiration time every time I try, sometimes 5 hours, sometime 12hours.每次尝试的过期时间似乎都不同,有时是 5 小时,有时是 12 小时。

I don't know why.我不知道为什么。

import boto3 
from botocore.client 
import Config  
# Get the service client with sigv4 configured 
s3 = boto3.client('s3', config=Config(signature_version='s3v4'))  
# Generate the URL to get 'key-name' from 'bucket-name' 
# URL expires in 604800 seconds (seven days) 
url = s3.generate_presigned_url(ClientMethod='get_object',Params={
                                                   'Bucket':'bucket-name',
                                                   'Key': 'key-name'
                                                    },ExpiresIn=604800)  
print(url)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 boto3 generate_presigned_url SignatureDoesNotMatch - boto3 generate_presigned_url SignatureDoesNotMatch boto3-步骤功能generate_presigned_url InvalidSignatureException - boto3 - Step Functions generate_presigned_url InvalidSignatureException Boto3 generate_presigned_url,SignatureDoesNotMatch错误 - Boto3 generate_presigned_url, SignatureDoesNotMatch error 带有 SSE 加密的 boto3 generate_presigned_url - boto3 generate_presigned_url with SSE encryption boto3 中 generate_presigned_url 返回值的类型是什么? - What's the type of return value from generate_presigned_url in boto3? generate_presigned_url boto3 在使用云端调用时生成相同的 URL 直到到期 - generate_presigned_url boto3 generates same URL until expiry when called using cloudfront boto3:generate_presigned_url在上传过程中被拒绝访问 - boto3: generate_presigned_url get access denied during upload AWS S3 generate_presigned_url vs generate_presigned_post 用于上传文件 - AWS S3 generate_presigned_url vs generate_presigned_post for uploading files 使用boto3在桶中生成最新object的预签名s3 URL - Generate presigned s3 URL of latest object in the bucket using boto3 如何使用 boto3 资源而不是客户端生成 S3 预签名 URL - How to generate S3 presigned URL with boto3 resource instead of client
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM