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, valid, mime_type)

# 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()

object_name = <the object name>
signed_url = signer.get_signed_url(object_name, valid)
url = signed_url['signed_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.2.0.tar.gz (2.6 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for s3sign-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ce4d6dfc7037874a44fb410cd4c7033f32d83f616023a71e7b71cc1e27d348d2
MD5 8aee8aa404c7e048de8589bec25c9b88
BLAKE2b-256 8504f4acb06cdc0f9fbca82ebc4d0b90ca5478d2454b00e0c709ec8998af9b69

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