如何在Azure(.Net)中导入csv文件(已在blob存储中上传)

时间:2011-01-19 12:38:59

标签: asp.net csv import azure

我想在Azure中导入csv文件(已在blob存储中上传)。

例如我已经在blob存储上升了test.csv,现在我只想在.net(azure)中导入test.csv文件,导入后我会将该数据插入到azure数据库中。我正在使用C#.net。请建议我如何实现这一目标。我想遵循下面的步骤: -

  1. 创建包含所有行的cvs文件。
  2. 将其上传为blob。
  3. 使用Worker角色解析它并将其插入sql azure db。
  4. 感谢。

1 个答案:

答案 0 :(得分:0)

对您的问题进行更多澄清会有所帮助。您是否尝试将文件上传到Azure blob存储?从那里下载它以供您的应用程序使用?你用的是哪种语言?

有很多例子可以使用.NET将文件加载到Azure blob存储中并从中提取它们,至少可以使用Java或PHP进行操作。

我可以澄清你要做的事情,我很乐意为你指出合适的事情。 :)

- 根据评论更新回答 - 检索blob的步骤非常简单: 1)使用您的azure存储凭据创建Azure存储客户端 添加using子句:

using Microsoft.WindowsAzure.StorageClient;

获取访问blob存储的客户端:

CloudBlobClient tmpClient = new CloudBlobClient("<nameofyourconfigsetting>");

参考您要下载的blob:

CloudBlob myBlob = tmpClient.GetBlobReference("container/myblob.csv");

2)阅读blob&amp;保存到文件

myBlob.DownloadToFile("<path>/myblob.csv");

保存位置可以是%temp%位置,或者如果它是一个大文件,您可能想要分配一些本地存储空间并将其放在那里。您要记住的另一件事是,如果您在角色实例中执行此操作,则需要确保已采取措施以防止两个实例同时尝试处理同一文件。如果文件足够小,您甚至可以将其保存为内存流并以此方式处理。如果是这种情况,您可以使用DownloadToStream对象的CloudBlob属性。

如需额外阅读,我建议您查看MSDN库,了解StorageClientCloudBlob包含的详细信息。此外,Windows Azure平台培训套件还有一些很好的实验室可帮助您更好地了解Azure存储的工作原理。