2015-12-15 19 views

回答

2

假設你有什麼是你要結束了存儲在Amazon的一個完整的文件中的一些服務,我可以直接流上傳到它(通過我的服務器),有ISN」你可以做的其他事情。

您可以通過使用低級別的API做分流到S3:http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectOps.html

唯一的選擇是轉移的東西分段,再後來重新組合。例如,您可以使用Kinesis Firehose將單個文件塊上載到S3。然後你需要一些其他的工作來把它們拼湊成原始文件。

+0

感謝您提到Kineses。我upvoted你的答案,但我仍然需要亞馬遜的替代方案,以允許我流式上載文件,而不是先緩衝到我的服務器。 – securecurve

1

在上載到S3之前,您不必將整個文件緩存到服務器。 S3的分段上傳允許您分別上傳每個部分,可以小到5MB,即:您的服務器一次只能緩衝5MB。我在goofys中使用這種技術來模擬流式寫入。

+0

這是絕對正確的。我還寫了一個實用程序來處理這種情況,您想要構建一個tarball並將其輸出管道輸入到一個工具中,該工具可以從沒有足夠磁盤空間來存儲中間tarball的服務器將其直接放入S3中​​。 REST(ish)分段上傳API處理這種確切的情況 - 所需的磁盤空間爲零,因爲即使5MB的最小大小的塊可以緩存在內存中。 SDK可能沒有這樣的功能,但這並不意味着S3不會。請參閱http://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html –