**Error ----------------------------------------------------------------------------------------------: **
<?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>
<StringToSign>PUT
**Code in Python----------------------------------------------------------------------------------------------: **
import botocore
import boto3
import datetime
from botocore.exceptions import ClientError
import json
s3_file="test6.jpg"
def lambda_handler(event, context):
# TODO implement
print("Step 1")
try:
s3 = boto3.client('s3')
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': 's3_Bucket',
'Key': s3_file
},
ExpiresIn=36000000
)
result = {'status': 'success', 'data': {'url': url, 'key':s3_file}}
response = {
'statusCode': 200,
'body': json.dumps(result),
'headers': {
'Content-Type': 'application/json'
}
}
except ClientError as e:
print(f'Error generating presigned URL: {e}')
return None
return response