如何将文件从iPhone传输到EC2实例或EBS?

时间:2015-06-15 21:03:08

标签: ios iphone amazon-ec2 amazon-s3 amazon-ebs

我正在尝试创建一个iOS应用程序,它将文件从iPhone传输到服务器,在那里处理它们,并立即将结果返回给应用程序。

我注意到AWS提供了一个SDK,用于将文件从iOS应用程序传输到S3,但不能传输到EC2(或至少可以连接到EC2的EBS)。我想知道为什么我必须通过S3,当我的业务逻辑不保证文件的存储。我使用s3cmd和s3fs等文件系统软件从EC2连接到S3,但是在将文件传输到EC2时速度非常慢。我担心通过S3的路由会消耗时间,特别是当用户期望导致一瞬间。

您能否指导我如何绕过S3路线将文件从iOS应用程序实时传输到EC2(或EBS)?

2 个答案:

答案 0 :(得分:0)

允许应用程序直接写入实例文件系统是一个非首发,不能将其视为一个非常复杂的网络驱动器,更不用说你几乎肯定会遇到的安全问题。这真的是s3的用途。你说你看到ec2和s3之间的性能不好,这听起来不是很好,这将是一个内部数据中心连接,至少要比从移动设备到亚马逊数据中心的连接快几个数量级。 。您确定在同一地区创建了存储桶和实例吗?或者它可能是您正在使用的客户端,不要尝试设置文件系统访问权限,只需使用aws cli。

如果您真的想要直接转向ec2实例,您需要通过某种网络连接来实现,可以通过运行Web服务器,也可以使用ssh上的各种副本(如果在ios上可用) 。当s3已经为你完成它时,设置它似乎毫无意义。最后,根据文件的大小,您可以使用sqs或某种数据库存储。

答案 1 :(得分:0)

可以成为新手!我遇到了完全相同的处理问题并通过运行一系列负载均衡的Web服务器来解决它,其中移动设备调用上传实用程序,上传文件,处理它,然后使用移动设备的签名URL将结果部署到s3可以显示。它快速,可靠,安全。使用CloudFront缓存结果,因此一旦编写,就可以快速重新访问移动设备。希望这可以帮助。