簡體   English   中英

boto3 generate_presigned_url SignatureDoesNotMatch

[英]boto3 generate_presigned_url SignatureDoesNotMatch

我想從 Web 應用程序中的 S3 下載文件。 因此我使用 boto3 generate_presigned_url創建了一個 URL

import boto3

s3Client = boto3.client(
    's3',
    region_name='eu-central-1',
    config=boto3.session.Config(signature_version='v4'),
    aws_access_key_id='xxxxxxxxxxxxxxx',
    aws_secret_access_key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
)

url = s3Client.generate_presigned_url(
    'get_object',
    Params={'Bucket': 'bucketname', 'Key': 'test.txt'},
    ExpiresIn=100)

但總是收到此錯誤消息:

<Error>
  <Code>SignatureDoesNotMatch</Code>
  <Message>The request signature we calculated does not match the
  signature you provided. Check your key and signing method.</Message>

有什么想法該怎么做?

signature_version='s3v4' 對我有用。 如果使用 signature_version='v4' 我得到同樣的錯誤

s3_client = boto3.client('s3', region_name=REGION, 
    config=Config(signature_version='s3v4'),
    aws_access_key_id=AWS_ACCESS_KEY_ID, 
   aws_secret_access_key=AWS_SECRET_ACCESS_KEY)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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