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§
- Azure
Config - Azure service configuration.
- Azure
Config Builder - Builder for Azure configuration.
- Azure
Services - Container for Azure service clients.
Enums§
- Azure
Error - Azure service errors.
- Credentials
Source - Credentials source for Azure authentication.
Type Aliases§
- Result
- Result type for Azure operations.