oxigdal-cloud-enhanced 0.1.3

Deep cloud platform integrations for AWS, Azure, and GCP
Documentation

oxigdal-cloud-enhanced

Deep cloud platform integrations for AWS, Azure, and GCP.

Overview

This crate provides enhanced cloud platform integrations beyond basic storage, including:

  • AWS: S3 Select, Athena, Glue, Lambda, SageMaker, CloudWatch, and cost optimization
  • Azure: Data Lake Gen2, Synapse Analytics, Azure ML, Azure Monitor, Managed Identity, and cost management
  • GCP: BigQuery GIS, Dataflow, Vertex AI, Cloud Monitoring, Workload Identity, and cost management

Features

AWS Integration

  • S3 Select: Query data in-place on S3 without downloading
  • Athena: SQL queries on S3 data with metadata catalog
  • Glue: Data catalog and ETL job management
  • Lambda: Serverless function execution and management
  • SageMaker: ML model training, deployment, and inference
  • CloudWatch: Metrics, logs, and monitoring
  • Cost Optimizer: S3 Intelligent-Tiering, lifecycle policies, and cost tracking

Azure Integration

  • Data Lake Gen2: Hierarchical namespace storage with ACLs
  • Synapse Analytics: SQL and Spark analytics
  • Azure ML: Training jobs, model deployment, and batch inference
  • Azure Monitor: Metrics, logs, and alerts
  • Managed Identity: Authentication and authorization
  • Cost Management: Budgets, forecasts, and recommendations

GCP Integration

  • BigQuery GIS: SQL queries with geospatial functions
  • Dataflow: Pipeline management and execution
  • Vertex AI: Model training, deployment, and predictions
  • Cloud Monitoring: Metrics, alerts, and uptime checks
  • Workload Identity: Service account management and IAM
  • Cost Management: Budgets, billing exports, and recommendations

Example Usage

use oxigdal_cloud_enhanced::aws::AwsClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create AWS client
    let client = AwsClient::new(Some("us-east-1".to_string())).await?;

    // Query data with S3 Select
    let options = Default::default();
    let result = client.s3_select()
        .query_csv("my-bucket", "data.csv", "SELECT * FROM S3Object LIMIT 10", options)
        .await?;

    // Execute Athena query
    let execution_id = client.athena()
        .execute_query(
            "SELECT COUNT(*) FROM my_table",
            Some("my_database"),
            "s3://my-bucket/results/",
            None,
        )
        .await?;

    Ok(())
}

COOLJAPAN Compliance

  • ✅ Pure Rust implementation
  • ✅ No unwrap() calls
  • ✅ All files < 2000 lines
  • ✅ Workspace dependencies

License

Apache-2.0