wae-storage 0.0.1

WAE Storage - 存储服务抽象层,支持腾讯云 COS、阿里云 OSS、AWS S3、Google Cloud Storage、本地存储
Documentation

wae-storage

存储模块 - 提供对象存储抽象层。

主要功能

  • 多后端支持: 支持 S3、MinIO、本地存储
  • 文件操作: 上传、下载、删除文件
  • 预签名 URL: 生成临时访问链接
  • 分片上传: 大文件分片上传

技术栈

  • 对象存储: aws-sdk-s3 (可选)
  • 异步运行时: Tokio

使用示例

use wae_storage::{StorageClient, StorageConfig, StorageBackend};

#[tokio::main]
async fn main() {
    let storage = StorageClient::new(StorageConfig {
        backend: StorageBackend::S3 {
            endpoint: "https://s3.amazonaws.com".to_string(),
            bucket: "my-bucket".to_string(),
            access_key: "access-key".to_string(),
            secret_key: "secret-key".to_string(),
        },
    });
    
    storage.upload("images/avatar.jpg", &file_data).await?;
    
    let data = storage.download("images/avatar.jpg").await?;
    
    let url = storage.presigned_url("images/avatar.jpg", Duration::from_secs(3600)).await?;
}

本地存储

let storage = StorageClient::new(StorageConfig {
    backend: StorageBackend::Local {
        root: "/data/storage".to_string(),
    },
});

支持的后端

后端 说明
S3 Amazon S3
MinIO MinIO 对象存储
Local 本地文件系统