In my Program.cs, I get the env variables:
IConfigurationRoot configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.Build();
var blobStorageEndPoint = configuration.GetValue<string>(BlobStorageEndPoint);
Then I create my FileService and add the variables:
sCollection.AddSingleton<IFileService, FileService>(_ => IsNullOrEmpty(blobStorageEndPoint)
|| IsNullOrEmpty(container)
? throw new Exception(Messages.FileServiceError)
: new FileService(storageConn!, container, blobStorageEndPoint
, fmcsaFileName));
Then I write a file
await fileService.WriteOutputFile(stream, fileName, logger);
I get a blobClient and upload a file to the storage account in the WriteOutputFile method:
BlobClient blobClient = GetBlobClient(fileName);
await blobClient.UploadAsync(stream, true);
Here is how the file service gets the client:
public static BlobClient CreateBlobClient(string conn, string endPoint, string container, string fileName)
{
BlobContainerClient containerClient = CreateBlobContainerClient(conn, endPoint.Trim(), container);
BlobClient? blobClient = containerClient.GetBlobClient(fileName);
return blobClient;
}
Then I get the ContainterClient:
public static BlobContainerClient CreateBlobContainerClient(string conn, string endPoint, string container)
{
const string TheEndPoint = "https://safetysandboxstacct.blob.core.windows.net/";
BlobServiceClient blobServiceClient = IsNullOrEmpty(conn)
// ? new BlobServiceClient(new Uri(TheEndPoint), new DefaultAzureCredential())
? new BlobServiceClient(new Uri(endPoint), new DefaultAzureCredential())
: new BlobServiceClient(conn);
BlobContainerClient? containerClient = blobServiceClient.GetBlobContainerClient(container);
return containerClient;
}
And it's at this point that I'm getting the Uri error.