Запросы на многочастную подпись aws s3 не удается загрузить с ошибкой «подпись недействительна» - PullRequest
0 голосов
/ 20 сентября 2019

Загрузка в AWS s3 bucket с использованием браузера и сервера в python.Python-код обрабатывает все авторизации, необходимые для браузера, чтобы начать загрузку частей.

upload_res = s3.create_multipart_upload(Bucket=bucket, 
                                       Key=key, 
                                       ACL='private', 
                                      ContentType=mime_type
                                     )
upload_id = upload_res.get('UploadId')

Теперь, когда я попытался сгенерировать URL-адреса для последовательных частей загрузки:

s3.generate_presigned_url('upload_part', Params={'Bucket': bucket, 
                                                 'Key': key
                                                'UploadId': upload_id,
                                                 'PartNumber': 2},
                                                 ExpiresIn=3600,
                                                 HttpMethod='PUT'
                         )

Следующая ошибка в ответе:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>SignatureDoesNotMatch</Code>
    <Message>The request signature we calculated does 
not match the signature you provided. Check your key and signing method.</Message>
    <AWSAccessKeyId>access_key_id</AWSAccessKeyId>
    <StringToSign>PUT

multipart/form-data; boundary=--------------------------630928290158318599002940
1568981516
/bucket_name/file_name.jpg?partNumber=1&amp;uploadId=2wes3ewsae3</StringToSign>
    <SignatureProvided>xxD0in9eMN29r7RaYkC8K2/IjLw=</SignatureProvided>
    <StringToSignBytes>ws 3ws 5wex</StringToSignBytes>
    <RequestId>653E97C8E7F01D</RequestId>
    <HostId>kj/2wj</HostId>
</Error>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...