From eda79010ce27352b28964f896e741004ffa3714a Mon Sep 17 00:00:00 2001 From: SergioMatias94 Date: Sun, 8 Jun 2025 18:20:34 -0600 Subject: [PATCH] Implement azurite --- .../Configuration/RegisterBlueprint.cs | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/Core.Blueprint.Storage/Configuration/RegisterBlueprint.cs b/Core.Blueprint.Storage/Configuration/RegisterBlueprint.cs index 9a98bec..ee4997f 100644 --- a/Core.Blueprint.Storage/Configuration/RegisterBlueprint.cs +++ b/Core.Blueprint.Storage/Configuration/RegisterBlueprint.cs @@ -11,23 +11,31 @@ namespace Core.Blueprint.Storage.Configuration { public static IServiceCollection AddBlobStorage(this IServiceCollection services, IConfiguration configuration) { - var blobConnection = configuration.GetConnectionString("BlobStorage"); - if (blobConnection == null || string.IsNullOrWhiteSpace(blobConnection)) - { + if (string.IsNullOrWhiteSpace(blobConnection)) throw new ArgumentException("The BlobStorage configuration section is missing or empty."); - } - var chainedCredentials = new ChainedTokenCredential( - new ManagedIdentityCredential(), - new SharedTokenCacheCredential(), - new VisualStudioCredential(), - new VisualStudioCodeCredential() - ); + var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty; + services.AddAzureClients(cfg => { - cfg.AddBlobServiceClient(new Uri(blobConnection)).WithCredential(chainedCredentials); + if (environment == "Local") + { + cfg.AddBlobServiceClient(configuration.GetConnectionString("BlobStorage")); + } + else + { + var chainedCredentials = new ChainedTokenCredential( + new ManagedIdentityCredential(), + new SharedTokenCacheCredential(), + new VisualStudioCredential(), + new VisualStudioCodeCredential() + ); + + cfg.AddBlobServiceClient(new Uri(blobConnection)) + .WithCredential(chainedCredentials); + } }); services.AddScoped();