У меня есть веб-API, который использует кучу файлов appSettings для загрузки тестовых данных. Я хочу изменить местоположение этих данных на Azure Blob. Основываясь на тестовой инфраструктуре, я хотел бы преобразовать BLOB-объект в объект IConfiguration.
Для этого sh я хотел использовать AddJsonStream для ConfigurationBuilder.
Я создал этот метод для go извлечения, захвата большого двоичного объекта и преобразования его в поток:
public static Stream GetBlobAsStream(Uri blobURI)
{
var storageAccount = CloudStorageAccount.Parse(AZURE_STORAGE_CONNECTION_STRING);
var cloudBlobClient = storageAccount.CreateCloudBlobClient();
var cloudBlobContainer = cloudBlobClient.GetContainerReference(blobContainer);
var cloudBlob = cloudBlobContainer.GetBlockBlobReference(blobName);
var stream = cloudBlob.OpenRead();
return stream;
}
Теперь этот метод использует набор жестко закодированных констант, которые я хотел бы удалить. Как я могу удалить жесткое кодирование и найти необходимую azure информацию в зависимости от среды, в которой она выполняется? Или я запрограммировал себя здесь в угол?