我已经部署了一个asp mvc,在这里我试图将csv文件显示为存储在Azure blob存储中的表。
在blob容器中读取文件有问题。我在Microsoft文档中找不到任何解决方案。
我的blob容器是公开的,也许我可以通过它们的url访问,但我不知道如何读取csv文件。有什么想法吗?
发布于 2017-06-15 00:31:58
我的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文件,并调用集线器方法从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);
}
https://stackoverflow.com/questions/44548166
复制相似问题