繁体   English   中英

如何在特定时间间隔从 S3 存储桶检查和下载文件?

[英]How to check and download files from S3 bucket in a specific interval?

将文件上传到 aS3 Bucket 后,我想执行以下操作

  1. 将文件下载到 windows 服务器
  2. 运行第 3 方 exe 来处理文件并在 Windows 服务器上生成 output 文件

使用.Net Core 实现这一点的最佳方法是什么?

解决方案1:

  1. 创建 Lambda function 以触发 API
  2. API 将下载文件并处理

解决方案2:

  1. 创建一个可执行文件以从 s3 存储桶下载文件
  2. 创建 lambda function 触发器可执行文件

解决方案3:

  1. 创建服务以检查和下载 s3 存储桶中的文件
  2. 下载的文件将由服务处理

解决方案4:

  1. 使用 AWS Lambda 将文件推送到 SQS
  2. 创建一个应用程序来监控 SQS。

请让我知道实现这一点的最佳解决方案。 很抱歉问这个非技术性的问题。

正确的架构方法是:

  • 在创建 object 时在 Amazon S3 存储桶上创建向 Amazon SQS 队列发送消息的触发器
  • Windows 服务器不断轮询 Amazon SQS 队列等待消息出现
  • 出现消息时,使用消息中的信息从 S3 下载 object并处理文件
  • 将结果上传到 Amazon S3 并可选择发送 SQS 消息以指示完成(取决于您希望在处理文件后执行的操作)

这种架构能够扩展到大容量,并允许并行处理文件,甚至可以跨多个服务器处理文件。 如果处理任务失败并且未发出完成信号,则 Amazon SQS 将使消息再次可见以进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM