【问题标题】:how to move files from ec2 instance to S3 as soon as it is created in a loop?一旦在循环中创建文件,如何将文件从 ec2 实例移动到 S3?
【发布时间】:2023-03-07 19:03:02
【问题描述】:

我制作了一个可以下载大量 PDF 的网络爬虫。该脚本基本上是一个循环,每次迭代下载一个 PDF(~8 MB)。总文件大小估计>300GB。我在想,与其创建具有那么多存储空间的实例,不如在下载 PDF 后立即将它们放入 S3 存储桶中。

我将使用 t2.xlarge ubuntu 系统。该循环应该运行 2 周,所以我相信使用 S3 存储桶而不是为 t2 购买额外的存储会更便宜。

问题是脚本下载 /Downloads 文件夹中的 PDF。我想我需要使用 s3fs 安装一个存储桶?然后我将递归复制Downloads文件夹中的文件并粘贴到挂载的bucket中,然后使用rm删除\Downloads文件夹中的所有内容。这是要走的路还有更直接的方法吗?

任何帮助或文档链接将不胜感激!谢谢!

相关帖子:

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2


    【解决方案1】:

    您可以使用 AWS Lambda 做的更简单。

    使用 AWS Lambda 创建触发事件。然后拉取pdf文件,直接保存到S3。

    云观察事件 (cron) --> Lambda --> S3

    这样,您只需为运行代码的时间付费。无需支付任何固定费用。

    如果您是只熟悉 CLI 的命令行人员,您可以运行脚本下载文件并将其保存到 S3。

    curl "https://linktopdf/" | aws s3 cp - s3://bucket/filename

    您可以为此使用 t2.small。

    希望对你有帮助。

    【讨论】:

    • 我制作的脚本使用了 Selenium 和 Chrome。它可以在 Lambda 函数中工作吗?
    • 你可以在 lambda 的 headless 模式下运行 selenium 和 chrome。更多信息可以在medium.com/clog/… 下找到
    • 谢谢,但我找不到这样做的教程
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2015-08-11
    • 1970-01-01
    • 2019-04-27
    • 2013-10-24
    • 2018-05-22
    • 1970-01-01
    相关资源
    最近更新 更多