我的API服务器的磁盘空间(500MB)和内存(1GB)非常有限。其中一个API调用是接收文件。消费者调用API并传递要下载的URL。
我的服务器的“目标”是将此文件上传到Amazon S3。不幸的是,我不能要求消费者直接将文件上传到S3(部分要求)。
问题是,有时这些是巨大的文件(10GB),将它们保存到磁盘然后上传到S3不是一个选项(500MB磁盘空间限制)。
我的问题是,如何使用curl Linux程序将文件从输入URL“管道”到S3?
注意:我能够以不同的方式进行管道处理,但是,它要么首先尝试下载整个文件并失败,要么遇到内存错误而curl退出。我猜测下载比上传快得多,因此当我获得10GB文件时,管道缓冲区/内存增长并爆炸(服务器上的1GB内存)。
是否有一种使用curl和管道实现我正在尝试做的事情的方法?
谢谢, - 杰克
我的服务器的“目标”是将此文件上传到Amazon S3。不幸的是,我不能要求消费者直接将文件上传到S3(部分要求)。
问题是,有时这些是巨大的文件(10GB),将它们保存到磁盘然后上传到S3不是一个选项(500MB磁盘空间限制)。
我的问题是,如何使用curl Linux程序将文件从输入URL“管道”到S3?
注意:我能够以不同的方式进行管道处理,但是,它要么首先尝试下载整个文件并失败,要么遇到内存错误而curl退出。我猜测下载比上传快得多,因此当我获得10GB文件时,管道缓冲区/内存增长并爆炸(服务器上的1GB内存)。
是否有一种使用curl和管道实现我正在尝试做的事情的方法?
谢谢, - 杰克