Skip to main content

A library to generate AWS S3 Signed Requests

Project description

A library to generate AWS S3 Signed Requests

Usage

PUT a file

from s3sign import S3PUTSigner

file_name = 'tos3.png'
mime_type = 'image/png'
valid = 60  # seconds
# S3_NAME, AWS_ACCESS_KEY, AWS_SECRET_KEY can be set as environment
# variables or passed as keyword arguments
signer = S3PUTSigner()

# Get the signature
put_signature = signer.get_signed_url(file_name, mime_type, valid)

# Use the signature to upload a file
url = put_signature['signed_url']
headers = put_signature['headers']
content = open(file_name, 'rb').read()

# PUT the object
requests.put(url, data=content, headers=headers)

GET a file

signer = S3GETSigner()

url = <the url to an object>
signed_url = signer.get_signed_url(url, valid)
url = signed_url['url']
requests.get(url)

Run test

export S3_BUCKET=<your-bucket>
export AWS_ACCESS_KEY=<your-access-key>
export AWS_SECRET_KEY=<your-secret-key>
python -m unittest discover

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

s3sign-0.1.2.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file s3sign-0.1.2.tar.gz.

File metadata

  • Download URL: s3sign-0.1.2.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for s3sign-0.1.2.tar.gz
Algorithm Hash digest
SHA256 02ae4c7b729fe954361d57832da73f238bb01f65271673e890b47213d708e954
MD5 4979037c366ed4020bcefe92448457f0
BLAKE2b-256 dfb70cf8993c600e61fe9f72d96a0bc3c7b6165fbf6b8e15967c3db2d8ff7432

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page