Backends — Aquilia Documentation
Comprehensive guide and documentation for Backends in the Aquilia framework. View API reference, examples, and implementation patterns.
Storage / Backend Setup Backend Setup Guide A complete walkthrough for setting up local, in-memory, AWS S3, Google Cloud, Azure Blob, SFTP, and Composite storage drivers. Local Filesystem Storage Stores files directly in a directory on the local machine. It is pre-installed in the core package and requires no external libraries. Workspace Configuration # workspace.py from aquilia import Workspace from aquilia.storage import LocalConfig workspace = ( Workspace("myapp") .storage( default="local", backends= ) ) Standalone Programmatic Setup from aquilia.storage.backends import LocalStorage from aquilia.storage.configs import LocalConfig config = LocalConfig(root="./storage", create_dirs=True) storage = LocalStorage(config) await storage.initialize() await storage.save("notes.txt", b"Local storage active") Amazon S3 & S3-Compatible Storage Connects to AWS S3, MinIO, Cloudflare R2, or DigitalOcean Spaces. Offloads blocking I/O to a background thread pool. 1. Install Dependencies pip install boto3 2. Workspace Configuration # workspace.py from aquilia import Workspace from aquilia.storage import S3Config workspace = ( Workspace("myapp") .storage( default="s3", backends= ) ) 3. Manual Credentials Override from aquilia.storage.backends import S3Storage from aquilia.storage.configs import S3Config storage = S3Storage(S3Config( bucket="my-app-assets", region="us-east-1", access_key="ACCESS_KEY_ID", secret_key="SECRET_ACCESS_KEY", endpoint_url="https://minio.mycompany.internal", # Override for MinIO )) Google Cloud Storage (GCS) Integrates with Google Cloud Storage buckets. 1. Install Dependencies pip install google-cloud-storage 2. Workspace Configuration # workspace.py from aquilia import Workspace from aquilia.storage import GCSConfig workspace = ( Workspace("myapp") .storage( default="gcs", backends= ) ) Azure Blob Storage Integrates with Azure Blob Storage containers. 1. Install Dependencies pip install azure-storage-blob 2. Workspace Configuration # workspace.py from aquilia import Workspace from aquilia.storage import AzureBlobConfig workspace = ( Workspace("myapp") .storage( default="azure", backends= ) ) SFTP / SSH Storage Saves and retrieves files over SFTP. 1. Install Dependencies pip install paramiko 2. Workspace Configuration # workspace.py from aquilia import Workspace from aquilia.storage import SFTPConfig workspace = ( Workspace("myapp") .storage( default="sftp", backends= ) ) Composite Storage Routing A composite backend delegates read/write requests to other registered backends based on glob patterns matched against the file path. # workspace.py from aquilia import Workspace from aquilia.storage import CompositeConfig, LocalConfig, S3Config workspace = ( Workspace("myapp") .storage( default="composite", backends= , "cloud_s3": , }, # Setup routing rules (glob pattern -> backend alias name) rules= , fallback="local_cache", # Fallback alias if no rules match ) } ) ) )
Go to Homepage