Crate armature_azure

Crate armature_azure 

Source
Expand description

§Armature Azure

Microsoft Azure services integration with dynamic loading and dependency injection.

§Features

Services are loaded dynamically based on feature flags and configuration. Only the services you enable are compiled and loaded.

§Quick Start

use armature_azure::{AzureServices, AzureConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Configure which services to load
    let config = AzureConfig::builder()
        .storage_account("mystorageaccount")
        .enable_blob()
        .enable_cosmos()
        .build();

    // Load services
    let services = AzureServices::new(config).await?;

    // Use Blob Storage
    let blob = services.blob_client()?;

    Ok(())
}

§With Dependency Injection

use armature::prelude::*;
use armature_azure::{AzureServices, AzureConfig};

#[module]
struct AzureModule;

#[module_impl]
impl AzureModule {
    #[provider(singleton)]
    async fn azure_services() -> AzureServices {
        let config = AzureConfig::from_env()
            .enable_blob()
            .enable_servicebus()
            .build();
        AzureServices::new(config).await.unwrap()
    }
}

Structs§

AzureConfig
Azure service configuration.
AzureConfigBuilder
Builder for Azure configuration.
AzureServices
Container for Azure service clients.

Enums§

AzureError
Azure service errors.
CredentialsSource
Credentials source for Azure authentication.

Type Aliases§

Result
Result type for Azure operations.