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)
requests.get(signed_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.0.tar.gz (2.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for s3sign-0.1.0.tar.gz
Algorithm Hash digest
SHA256 edad0f0e8337ba7671c3ef5fa763da5ee9bc0aad46c623847d476e1227ef751d
MD5 da2344a24f3d8d173431975091bdeba9
BLAKE2b-256 1390fc174ed973f5ab0aecf82ceaa0ec95f4569aef75d6b8091c520dd5c1bebd

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