我想为iPhone应用程序构建一个Web服务。至于文件上传,我想知道标准程序和最具成本效益的解决方案是什么。据我所知,有两种可能性:
- 客户端> S3:我直接从iPhone上传文件到S3(带有 AWS开发SDK)
- 客户端> EC2> S3:我将文件上传到我的服务器(EC2运行Django),然后服务器将文件上传到S3(详见本文) 岗位)
我不打算以任何方式修改文件。我只需要告诉数据库添加一个条目。因此,如果我要上传文件Client> S3,我还是需要连接到服务器才能进行数据库输入。
它似乎 好像EC2> S3不会花费任何东西,只要两者在同一区域。
在开始实施文件上传之前,我很想知道优点和缺点。
出于可伸缩性的原因,我肯定会通过S3完成它。没错,S3和EC2之间的数据快速且便宜,但上传时间很长,与普通网络请求不同。因此,您可能会在EC2实例上使NIC饱和。
而是将GUID返回给客户端,上传到S3,并将键设置为GUID并适当地设置Content-Type。然后在上载完成后调用Web服务/ Ajax端点以使用GUID密钥创建DB记录。
出于可伸缩性的原因,我肯定会通过S3完成它。没错,S3和EC2之间的数据快速且便宜,但上传时间很长,与普通网络请求不同。因此,您可能会在EC2实例上使NIC饱和。
而是将GUID返回给客户端,上传到S3,并将键设置为GUID并适当地设置Content-Type。然后在上载完成后调用Web服务/ Ajax端点以使用GUID密钥创建DB记录。