推入S3或拉入S3,这对于小文件来说更快

时间:2018-03-15 04:34:46

标签: amazon-web-services amazon-s3 ftp aws-lambda

所以我有一个用例,我需要将文件从本地FTP放到S3。

每个文件(XML)的大小最大为5KB。 文件号是每分钟100个文件。 不,用例是这样的,只要文件到达FTP位置,我就需要立即进入S3存储桶。

实现这一目标的最佳方法是什么? 这是我的选择

  1. 在我的FTP位置使用AWS CLI。(推送机制)
  2. 使用lambda(拉机制。
  3. 编写java应用程序,将文件从FTP中放入S3。
  4. 或者我有什么可以利用的内容。

    基本上,我需要尽快将文件放在S3中,因为UI建立在S3之上,如果文件没有立即到达,我可能会遇到麻烦。

1 个答案:

答案 0 :(得分:2)

如果您希望从应用程序代码中执行此操作,最简单的方法是使用AWS Command-Line Interface (CLI)或API调用。

通过Lambda做这件事真的没有意义,因为Lambda需要以某种方式从FTP检索文件然后将其复制到S3(所以它正在做双重工作)。

您当然可以编写Java应用程序来执行此操作,或者只需调用AWS CLI(用Python编写),因为它可以开箱即用。

您可以使用aws s3 sync复制所有新/更新的文件,也可以使用aws s3 cp复制特定文件。如果您有这么多文件,最好指定文件,否则会浪费时间扫描许多不需要复制的历史文件。

最好的情况是将文件直接发送到S3,而不涉及FTP!