Skip to main content

FastAPI Storage Helper

Project description

FastAPI Storage

Introduction

FastAPI Storage provides helper functions for interacting with AWS S3, making it easier to handle file storage, presigned URLs, metadata, and content-type modifications

How to use

Configuration

First, configure the storage service by setting up AWS credentials and bucket information:

# config/storage.py
from fastapi_storage_helper import StorageService
from config.setting import env

storage_service = StorageService(
  access_key_id=env.AWS_ACCESS_KEY_ID,
  secret_key=env.AWS_SECRET_KEY,
  region_name=env.AWS_REGION,
  bucket=env.AWS_S3_BUCKET_NAME,
)

Create Read Presign URL

To generate a presigned URL for reading a file from S3:

from config.storage import storage_service

def get_media_url(self, s3_image_path: str):
    return storage_service.create_read_presign_url(s3_image_path)

Create an Upload Presign URL

To generate a presigned URL for uploading a file to S3:

from config.storage import storage_service
def get_upload_media_url(self, s3_image_path: str):
    return storage_service.create_upload_presign_url(s3_image_path)

Upload file to S3

To directly upload a file to an S3 bucket:

from config.storage import storage_service

def upload_file(self, file: bytes, s3_image_path: str):
    return storage_service.upload_file(file, s3_image_path)

Get metadata

To get metadata for a file stored in S3:

from config.storage import storage_service

def get_metadata(self, s3_image_path: str):
    return storage_service.get_metadata(s3_image_path)

Change Content Type

To modify the content type of a file in S3:

from config.storage import storage_service
def change_content_type(self, s3_image_path: str, content_type: str):
    return storage_service.change_content_type(s3_image_path, content_type)

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

fastapi_storage_helper-0.0.9.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

fastapi_storage_helper-0.0.9-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_storage_helper-0.0.9.tar.gz.

File metadata

File hashes

Hashes for fastapi_storage_helper-0.0.9.tar.gz
Algorithm Hash digest
SHA256 9c85d1f0028b907298a6fb680a11395ca55615d40fc1edd6787a9935460edadb
MD5 5c66a09cfce36e446cff9c95806f0fd8
BLAKE2b-256 52931a7be6fb1322a38076203c5c70e9f2dcb32c680f056d8e1cb586a49ff98f

See more details on using hashes here.

File details

Details for the file fastapi_storage_helper-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_storage_helper-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 76c286eb87e2cdb5bb07efc41744e851a83c8d9f597a9aa60cf92633a08fc967
MD5 b43e101525e262fb0db64387acd12e99
BLAKE2b-256 e33e46165d2838f03dcc924174663465e1e8217117e74b1310b7bee23d64d5c5

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