如何获取 BLOB 并将其添加到我的配置中?
How can I get a BLOB and add it to my configuration?
我有一个 Web api,它使用一堆 appSettings 文件来加载测试数据。
我想将该数据的位置转移到 Azure Blob。
基于测试基础架构,我想将 Blob 转换为 IConfiguration 对象。
为此,我想在 ConfigurationBuilder 上使用 AddJsonStream。
我创建了这个方法来抓取 blob 并将其转换为流:
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 信息 运行?
还是我把自己编进了一个角落?
您可以尝试使用 Blob URI 和 Blob 客户端创建 CloudBlockBlob
的实例,方法如下:
public static Stream GetBlobAsStream(Uri blobURI)
{
var storageAccount = CloudStorageAccount.Parse(AZURE_STORAGE_CONNECTION_STRING);
var cloudBlobClient = storageAccount.CreateCloudBlobClient();
var cloudBlob = new CloudBlockBlob(blobURI, cloudBlobClient);
var stream = cloudBlob.OpenRead();
return stream;
}
或使用 Blob URI 和存储凭证创建 CloudBlockBlob
的实例,方法如下:
public static Stream GetBlobAsStream(Uri blobURI)
{
var storageAccount = CloudStorageAccount.Parse(AZURE_STORAGE_CONNECTION_STRING);
var cloudBlob = new CloudBlockBlob(blobURI, storageAccount.Credentials);
var stream = cloudBlob.OpenRead();
return stream;
}
我有一个 Web api,它使用一堆 appSettings 文件来加载测试数据。 我想将该数据的位置转移到 Azure Blob。 基于测试基础架构,我想将 Blob 转换为 IConfiguration 对象。
为此,我想在 ConfigurationBuilder 上使用 AddJsonStream。
我创建了这个方法来抓取 blob 并将其转换为流:
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 信息 运行? 还是我把自己编进了一个角落?
您可以尝试使用 Blob URI 和 Blob 客户端创建 CloudBlockBlob
的实例,方法如下:
public static Stream GetBlobAsStream(Uri blobURI)
{
var storageAccount = CloudStorageAccount.Parse(AZURE_STORAGE_CONNECTION_STRING);
var cloudBlobClient = storageAccount.CreateCloudBlobClient();
var cloudBlob = new CloudBlockBlob(blobURI, cloudBlobClient);
var stream = cloudBlob.OpenRead();
return stream;
}
或使用 Blob URI 和存储凭证创建 CloudBlockBlob
的实例,方法如下:
public static Stream GetBlobAsStream(Uri blobURI)
{
var storageAccount = CloudStorageAccount.Parse(AZURE_STORAGE_CONNECTION_STRING);
var cloudBlob = new CloudBlockBlob(blobURI, storageAccount.Credentials);
var stream = cloudBlob.OpenRead();
return stream;
}