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.11.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

fastapi_storage_helper-0.0.11-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for fastapi_storage_helper-0.0.11.tar.gz
Algorithm Hash digest
SHA256 6d9b207f8e40d267be16ccb6be4e0087fddbbe471fdaeb55a66e400622882adb
MD5 1a437c0983ed2f1b74b8b69822b618f8
BLAKE2b-256 3fc1cd4222039d2ab1f9f5bea6b57e9a05cf699b3666f1ca5faac7b5ea0c85f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_storage_helper-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 64d5f932c0c9ad174ec9367cb22e2ed405afa8952e1423b6db5a0233db80dc81
MD5 3809618252acb86a270583a3850333ba
BLAKE2b-256 a28bff151bb5524790f5abcc3a4eb5a508fda0fde0f3f18d6c0102386261f38e

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