AWS S3 signed urls
04 Apr 2017How to share file from S3 via signed url?
import boto3
s3 = boto3.client('s3')
print s3.generate_presigned_url('get_object', Params={'Bucket': 'testbucket', 'Key': 'testfile.txt'}, ExpiresIn=300)
https://testbucket.s3.amazonaws.com/testfile.txt?AWSAccessKeyId=%1B%1B%5BBAKIAIFO7T42JND33HA3A&Expires=1491261363&Signature=5Wnoe4AurvxTajsnmIkSPeLbGrI%3D
curl https://testbucket.s3.amazonaws.com/testfile.txt?AWSAccessKeyId=%1B%1B%5BBAKIAIFO7T42JND33HA3A&Expires=1491261363&Signature=5Wnoe4AurvxTajsnmIkSPeLbGrI%3D
How to upload file with signed url?
import boto3
s3 = boto3.client('s3')
print s3.generate_presigned_url('put_object', Params={'Bucket': 'testbucket', 'Key': 'testfile.txt'}, ExpiresIn=300)
https://testbucket.s3.amazonaws.com/testfiletestfile.txt?AWSAccessKeyId=AKIAIFO7T42JND33HA3A&Expires=14912641631491264163&Signature=JnHzwIb7fntM8owpSoVKlHp0tCc%3D
curl 'https://testbucket.s3.amazonaws.com/testfiletestfile.txt?AWSAccessKeyId=AKIAIFO7T42JND33HA3A&Expires=14912641631491264163&Signature=JnHzwIb7fntM8owpSoVKlHp0tCc%3D' --upload-file out.txt