使用 AWS Lambda 将 S3 文件复制到本地 LAN 文件夹

Using AWS Lambda to copying S3 files to on-premise LAN folder

问题: 我们需要执行一项任务,在该任务下,我们必须使用 Lambda 函数将存储在 AWS S3 存储桶中的所有文件(CSV 格式)传输到本地 LAN 文件夹。这将是一个计划任务,每 1 小时后执行一次,文件将再次从 S3 传输到本地 LAN 文件夹,同时替换现有文件。这些文件的大小并不大(最好在几 MB 以下)。

我找不到任何 AWS 托管服务来完成此任务。

我是 AWS 的新手,欢迎任何解决此问题的方法。

谢谢,

查看 S3 Sync,我认为它会帮助您完成此任务:https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html#examples

对于 运行 您计算机中的任何 AWS CLI,您将需要设置凭据,并且设置 account/roles 应该具有执行任务的权限(例如访问 S3) 在此处查看 AWS CLI 设置:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

Actually, I am looking for a solution by which I can push S3 files to on-premise folder automatically

为此,您需要使本地网络对“推送”内容的逻辑(lambda,等等)可见。默认解决方案是使用 AWS site-to-site VPN.

有多个options for setting up the VPN,您可以根据需要选择。

然后本地网络看起来就像另一个子网。

但是 - VPN 有其复杂性和成本。在大多数情况下,从本地环境“拉取”数据要容易得多。

要同步数据,有多种选择。对于托管服务,我可以指出 S3 Gateway,根据您的描述,这听起来像是疯狂的矫枉过正。

也许您可以从一个简单的 cron 作业开始(如果使用 windows,则可以是一个任务计时器)和 运行 到 sync the S3 content 的 CLI 命令,或者只是复制指定的文件。