有没有办法从网站下载 csv 文件并使用 Lambda 将其直接上传到 Amazon S3?

Is there a way to download a csv file from a website and upload it directly to Amazon S3 using Lambda?

我正在制作一个应用程序来清理等搜索网站上每天更新的 CSV。我使用 EC2 使用 python pandas.read_csv(url) 将文件下载到 EBS,但现在我想让应用程序无服务器。 我想自动从 'https://sam.gov/api/prod/fileextractservices/v1/api/download/Contract%20Opportunities/datagov/ContractOpportunitiesFullCSV.csv?privacy=Public' 下载并将其上传到 S3 无服务器。我不确定是否可以做到无服务器。有更好的方法吗? 文件大小约为 500 MB。

lambda 正是您想要用于此类场景的。执行以下操作:

  • 创建 S3 存储桶
  • 编写 lambda 函数
  • 配置 IAM 角色以授予 lambda 写入 S3 存储桶的权限
  • 配置一个 EventBridge 任务来每天触发 lambda 函数