簡體   English   中英

boto3 s3 generate_presigned_url ExpiresIn 無法按預期工作

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

我試圖生成具有 7dsys 到期時間pre-signed URL (也就是說最長持續時間是 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
)

但是,它似乎不會將pre-signed URL保留 7 天,而只是幾個小時。 pre-signed URL之后只返回 XML 格式。

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

每次嘗試的過期時間似乎都不同,有時是 5 小時,有時是 12 小時。

我不知道為什么。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM