所以我有一个用例,我需要将文件从本地FTP放到S3。
每个文件(XML)的大小最大为5KB。 文件号是每分钟100个文件。 不,用例是这样的,只要文件到达FTP位置,我就需要立即进入S3存储桶。
实现这一目标的最佳方法是什么? 这是我的选择
或者我有什么可以利用的内容。
基本上,我需要尽快将文件放在S3中,因为UI建立在S3之上,如果文件没有立即到达,我可能会遇到麻烦。
答案 0 :(得分:2)
如果您希望从应用程序代码中执行此操作,最简单的方法是使用AWS Command-Line Interface (CLI)或API调用。
通过Lambda做这件事真的没有意义,因为Lambda需要以某种方式从FTP检索文件然后将其复制到S3(所以它正在做双重工作)。
您当然可以编写Java应用程序来执行此操作,或者只需调用AWS CLI(用Python编写),因为它可以开箱即用。
您可以使用aws s3 sync
复制所有新/更新的文件,也可以使用aws s3 cp
复制特定文件。如果您有这么多文件,最好指定文件,否则会浪费时间扫描许多不需要复制的历史文件。
最好的情况是将文件直接发送到S3,而不涉及FTP!