RaZ*_* PS 6 c# azure azure-storage azure-storage-blobs .net-core
我想从 azure blob 存储(文件夹内的文件)中读取文件,blob 存储包含许多文件夹。我想读取我的文件夹“blobstorage”,它包含许多 JSON 文件,对每个文件执行 .read 和一些操作。我尝试了许多不起作用的代码:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference($"blobstorage");
Run Code Online (Sandbox Code Playgroud)
上面的代码使用“Microsoft.WindowsAzure.Storage”nuget 包。此代码未按预期工作。在堆栈溢出中找到的许多问题和答案中,我发现它们中的大多数已经过时并且不起作用。注意:如果有任何 nuget 也提到 bcs 它们是很多包
小智 9
我在这篇文章中找到了解决方案,并且非常适合我。您只需在下载后将其作为普通流读取即可。
BlobServiceClient blobServiceClient = new BlobServiceClient("connectionString");
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient("containerName");
BlobClient blobClient = containerClient.GetBlobClient("blobName.csv");
if (await blobClient.ExistsAsync())
{
var response = await blobClient.DownloadAsync();
using (var streamReader= new StreamReader(response.Value.Content))
{
while (!streamReader.EndOfStream)
{
var line = await streamReader.ReadLineAsync();
Console.WriteLine(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我没有看到任何使用 package.json 列出所有 blob 的选项Microsoft.WindowsAzure.Storage。如果您可以使用Azure.Storage.Blobs包,请尝试下面的代码。
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System;
namespace ConsoleApp2
{
class Program
{
static string connectionString = "DefaultEndpointsProtocol=https;AccountName=storage******c9709;AccountKey=v**************************************;EndpointSuffix=core.windows.net";
static string container = "azure-webjobs-hosts";
static void Main(string[] args)
{
// Get a reference to a container named "sample-container" and then create it
BlobContainerClient blobContainerClient = new BlobContainerClient(connectionString, container);
blobContainerClient.CreateIfNotExists();
Console.WriteLine("Listing blobs...");
// List all blobs in the container
var blobs = blobContainerClient.GetBlobs();
foreach (BlobItem blobItem in blobs)
{
Console.WriteLine("\t" + blobItem.Name);
}
Console.Read();
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出
您还可以下载 blob 的内容,请查看此链接
| 归档时间: |
|
| 查看次数: |
12970 次 |
| 最近记录: |