我已经部署了一个asp mvc,我试图将csv文件显示为存储在Azure blob存储中的表。
我在读取blob容器中的文件时遇到问题。我在Microsoft文档中找不到任何解决方案。
我的blob容器是公共的,也许我可以通过他们的URL访问,但我不知道如何阅读csv文件。有任何想法吗?
答案 0 :(得分:0)
我的blob容器是公共的,也许我可以通过他们的URL访问,但我不知道如何阅读csv文件。任何想法?
要读取存储在Azure Blob存储中的csv文件,可以参考以下示例代码。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connection string");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
CloudBlockBlob blockBlobReference = container.GetBlockBlobReference("testdata.csv");
using (var reader = new StreamReader(blockBlobReference.OpenRead()))
{
string row = "";
while (!reader.EndOfStream)
{
//read data from csv file
row = reader.ReadLine();
}
}
我的目标是可视化进入blob存储的实时数据。
您似乎希望将csv数据实时显示为客户网页中的表格。 ASP.NET SignalR可以帮助我们轻松地开发实时Web功能,您可以在指定的Blob容器下检测csv文件,并调用hub方法从csv文件中读取数据并将数据推送到WebJob函数中的连接客户端,然后可以根据SignalR客户端上推送的csv数据更新UI。
在您的WebJob功能中调用集线器方法
var hub = new HubConnection("http://xxx/signalr/hubs");
var proxy = hub.CreateHubProxy("HubName");
hub.Start().Wait();
//invoke hub method
proxy.Invoke("PushData", "filename");
将数据推送到已连接客户端的集线器方法
public void PushData(string filename)
{
//read data from csv file (blob)
//call javascript side function to populate (or update) tables with csv data
Clients.All.UpdateTables(data);
}