从AWS S3 Bucket

时间:2017-07-07 17:17:36

标签: c# amazon-web-services amazon-s3

目前我有一种方法可以使用文件名路径读取本地计算机上的excel文件,如下所示:

               // Create COM Objects. Create a COM object for everything that is referenced
               Console.WriteLine("Begin reading file...");
               Excel.Application xlApp = new Excel.Application();
               Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\user1\Desktop\file1.xlsx");
               Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
               Excel.Range xlRange = xlWorksheet.UsedRange;
               // Some code here

现在我必须从AWS S3存储桶读取文件,而且我对整个AWS环境都很陌生。从我读过的所有资料来看,我认为你从S3存储桶获得的文件只能作为" stream"类型。

如何使用我当前的方法?

还有其他更好的方法吗,我的目标是从S3存储桶中读取一个excel文件并对内部数据执行某些操作。

1 个答案:

答案 0 :(得分:0)

你可以做几件事。这是一对夫妇

  1. 您可以将blob保存为本地文件。 Docs from AWS
  2. 您可以使用第三方将您的存储桶安装为虚拟驱动器。 Check here。请记住,您在此处通过网络进行操作。
  3. 您也可以跳过COM对象alltogheter并使用ClosedXML。这将避免COM当前可用的速度和内存问题。由于您已经在使用AWS,因此还可以灵活地将其移至lambda或容器化服务。
  4. 我相信你现在已经知道了,你需要注意的一件事是你的进程处理文件时的文件权限。