簡體   English   中英

如何將文件從網站下載到 S3 存儲桶而無需下載到本地機器

[英]How to download file from website to S3 bucket without having to download to local machine

我正在嘗試從網站下載數據集。 但是,我要下載的所有文件加起來大約 100 GB,我不想下載到我的本地機器,然后上傳到 s3。 有沒有辦法直接下載到 s3 存儲桶? 或者您是否必須使用 ec2,如果可以,有人可以簡要說明如何執行此操作嗎? 謝謝

S3 的put_object()方法支持字節(或文件)的 Body 參數:

Python 示例:

response = client.put_object(
    Body=b'bytes'|file,
    Bucket='string',
    Key='string',
)

因此,如果您使用 Python 下載網頁,您將使用requests.Get()方法或.Net,您使用HttpWebRequestWebClient ,然后將文件作為字節數組上傳,因此您無需將其保存在本地。 這一切都可以在 memory 中完成。

或者你必須使用ec2

Ec2 只是雲中的虛擬機,您可以從台式電腦/筆記本電腦以編程方式執行此任務(將 100gb 下載到 S3)。 只需打開命令 Window 或終端並輸入:

AWS Configure

輸入 IAM 用戶憑據並使用 aws cli 或使用 AWS SDK,如上面的 python 示例。 您可以為 S3 存儲桶提供允許訪問 IAM 用戶的策略文檔。 這會將所有內容下載到您的本地計算機。

如果您想在 EC2 上運行它並避免將所有內容下載到本地 PC,請修改分配給 EC2 的角色並將其授予 S3 權限。 這將是最簡單和最安全的。 如果您使用內存和字節方法,它將下載所有數據,但不會將其保存到磁盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM