Crate avl_storage

Crate avl_storage 

Source
Expand description

AVL Storage - S3-compatible object storage optimized for Brazil

§Features

  • S3-compatible API (drop-in replacement)
  • Automatic compression via avila-compress
  • 3-8ms latency in Brazil
  • 50% cheaper than AWS S3
  • Multipart uploads for large files

§Quick Start

use avl_storage::{StorageClient, PutObjectRequest};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = StorageClient::connect("https://storage.avila.cloud").await?;

    // Upload file
    client.put_object(PutObjectRequest {
        bucket: "my-bucket".to_string(),
        key: "file.txt".to_string(),
        body: b"Hello AVL Storage!".to_vec(),
        content_type: Some("text/plain".to_string()),
        ..Default::default()
    }).await?;

    Ok(())
}

Re-exports§

pub use client::StorageClient;

Modules§

client
Storage client implementation
multipart
Multipart upload operations
object
Object operations

Structs§

GetObjectResponse
Response from get object
ObjectInfo
Object metadata
PutObjectRequest
Request to put an object
PutObjectResponse
Response from put object

Enums§

Error
AVL Storage error types
StorageClass
Storage class for objects

Type Aliases§

Result