oximedia-cloud 0.1.1

Cloud storage and media services integration for AWS, Azure, and GCP
Documentation

oximedia-cloud

Status: Stable

Multi-cloud storage and media services integration for OxiMedia, supporting AWS, Azure, and Google Cloud Platform.

Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.

Features

  • Multi-cloud Storage Abstraction — Unified API for AWS S3, Azure Blob, and Google Cloud Storage
  • AWS Integration — S3, MediaConvert, MediaLive, MediaPackage, CloudWatch, KMS (aws-sdk-*)
  • Azure Integration — Azure Blob Storage and Azure Media Services (azure_storage_blobs, azure_identity)
  • GCP Integration — Google Cloud Storage and GCP Media Services (REST API via reqwest)
  • Transfer Management — Retry, resume, multipart upload, bandwidth throttling
  • Cost Optimization — Storage tier management, cost estimation, egress policy
  • Security and Encryption — KMS integration, server-side encryption, HMAC signing
  • CDN Integration — CDN configuration and edge delivery
  • Multi-region — Region selection and replication policies
  • Cloud Backup — Incremental, differential, and versioned backups
  • Object Lifecycle — Tier transitions, expiration, and archival rules
  • Cloud Transcoding — Cloud-based transcoding pipeline integration
  • Event Bridge — Event-driven automation

Usage

Add to your Cargo.toml:

[dependencies]
oximedia-cloud = "0.1.1"
use oximedia_cloud::{CloudProvider, CloudStorage, create_storage};
use bytes::Bytes;

async fn example() -> Result<(), Box<dyn std::error::Error>> {
    let provider = CloudProvider::S3 {
        bucket: "my-bucket".to_string(),
        region: "us-east-1".to_string(),
    };

    let storage = create_storage(provider).await?;
    storage.upload("test.mp4", Bytes::from("data")).await?;
    Ok(())
}

API Overview (46 source files, 701 public items)

Core types:

  • create_storage() — Factory function for cloud storage backends
  • CloudProvider — AWS S3, Azure Blob, GCS provider enum
  • CloudStorage (trait) — Unified storage interface
  • ObjectInfo, ObjectMetadata — Object information
  • StorageClass, TransferProgress, UploadOptions — Transfer types
  • CostEstimator, StorageTier — Cost management
  • Credentials, EncryptionConfig, KmsConfig — Security types

Backend modules:

  • aws — AWS S3, MediaConvert, MediaLive, MediaPackage, CloudWatch, KMS
  • azure — Azure Blob Storage and Azure Media Services
  • gcp — Google Cloud Storage and GCP Media Services
  • generic — Generic storage provider abstraction

Feature modules:

  • transfer, upload_manager — Transfer management and multipart uploads
  • cdn, cdn_config — CDN configuration and edge delivery
  • cost, cost_model, cost_monitor — Cost optimization and monitoring
  • security — Encryption, credentials, and KMS integration
  • multicloud, multiregion — Multi-cloud and multi-region strategies
  • cloud_backup — Backup strategies (incremental, differential, versioned)
  • transcoding, transcoding_pipeline — Cloud transcoding integration

License

Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)