3

我正在我的本地服务器上使用 Boto3(第一次使用 boto/3)运行 python 脚本,该服务器监视 S3 存储桶中的新文件。当它检测到存储桶中的新文件时,它会启动一个停止的 EC2 实例,该实例上加载了软件来处理这些文件,然后需要以某种方式指示 S3/EC2 将新文件从 S3 复制到 EC2。如何使用在本地服务器上运行的 Boto3 脚本来实现这一点?

本质上,本地运行的脚本是流程的编排器,需要在有新文件要处理时启动实例,并在 EC2 实例上处理它们并将处理后的文件复制回 S3。我目前正试图弄清楚如何通过本地运行的脚本将文件从 S3 复制到 EC2。我想避免从 S3 下载到本地服务器然后上传到 EC2。

建议/想法?

4

2 回答 2

3

您应该考虑将Lambda用于任何基于 S3 事件的处理。为什么在不需要时启动和运行服务器?

于 2015-07-17T02:25:07.500 回答
0

如果存储桶的名称和其他参数未更改,您只需在 EC2 实例上安装一个脚本即可从存储桶中提取最新内容并将此脚本设置为每次 EC2 启动时触发。

如果 s3 命​​令参数确实发生了变化,并且您必须使用 boto 从本地计算机运行它,那么您需要找到一种使用 boto ssh 进入 EC2 实例的方法。检查此模块:boto.manage.cmdshell 和类似问题:Boto Execute shell command on ec2 instance

于 2015-07-16T13:31:06.663 回答