0

我的客戶端有一項存儲大量文件的服務,如視頻或聲音文件。該服務運行良好,但看起來像長期文件存儲是一個相當大的挑戰,我們希望使用AWS來存儲這些文件。使用AWS Kinesis進行大文件上傳

問題在於,客戶想要使用AWS kinesis將我們的服務器中的每個文件傳輸到AWS。這可能嗎?我們可以使用該服務傳輸文件嗎?有很多視頻文件,我們每天都收到越來越多的視頻文件。而且每個文件都比較大。

我們也想將文件的一些細節保存到dynamoDB中,我們可以使用Lambda函數。

最重要的是,我們需要一個可靠的數據傳輸選項。

+1

如果你想從服務器上傳,你應該編寫一個程序或獲得一個利用多部分上傳的工具。請參閱http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html。這將穩定並加快向AWS S3的傳輸。 –

+0

謝謝約翰,你能告訴我這樣的上傳方法有多可靠嗎? –

+0

@sz_tech它非常可靠。如果出現故障,S3將保留零碎的多部分上傳,直到您專門完成或刪除它爲止。 –

回答

4

KINESIS不會上傳文件正確的工具,除非他們都非常小 - 和大多數視頻幾乎肯定會超過1MB記錄大小限制:

數據BLOB的最大尺寸(一個記錄內的 Base64編碼之前的數據有效載荷是1兆字節(MB)。

https://aws.amazon.com/kinesis/streams/faqs/

+0

謝謝Brennan,什麼是正確的工具?最重要的是服務必須可靠。你能幫我解決這個問題嗎? –

+1

S3將是在AWS生態系統中存儲文件的事實選擇。 –

+0

是的,我們想用S3來存儲數據。不過,我們希望找到最可靠的轉移選項。我們希望立即將文件傳輸到S3存儲桶,並且在部署完成後,我們希望刪除本地副本。在刪除本地副本之前,我們要確保文件已經完全上傳到S3。 –

2

使用S3使用的SDK的一個多部分上傳。您不會訪問超過90天的對象可以移至Glacier。

分段上傳允許您將單個對象上載爲一組零件。每個部分都是對象數據的連續部分。您可以獨立並按任意順序上傳這些對象部分。如果任何部分的傳輸失敗,您可以重新傳輸該部分而不影響其他部分。在上傳對象的所有部分之後,Amazon S3將組裝這些部分並創建對象。一般來說,當您的對象大小達到100 MB時,您應該考慮使用分段上傳,而不是在單個操作中上傳對象。

亞馬遜網絡服務。亞馬遜簡單存儲服務(S3)開發者指南(Kindle Locations 4302-4306)。亞馬遜網絡服務公司。Kindle Edition。

爲了進一步優化文件上傳速度,使用傳輸加速:

Amazon S3的轉移加速使文件的快捷,方便,安全的傳輸在你的客戶端和S3桶之間長的距離。 Transfer Acceleration利用Amazon CloudFront的全球分佈式邊緣位置。隨着數據到達邊緣位置,數據將通過優化的網絡路徑發送到Amazon S3。

亞馬遜網絡服務。 Amazon Simple Storage Service(S3)開發者指南(Kindle Locations 2060-2062)。亞馬遜網絡服務公司。Kindle Edition。