在EC2服务器远程执行python脚本的最简单方法是什么?



我有一个python脚本生成pdf参与证书基于从Google表拉出的数据,并通过亚马逊SES发送到每个单独的电子邮件。我想在EC2中运行该脚本,以受益于始终免费的Amazon SES配额。是否有一个简单而快速的方法来触发/执行这个脚本从谷歌表更新名称和电子邮件后远程?

与其"触发"实例上的代码(这很难,因为您希望保持实例的安全),我建议采用另一种架构:

  • Google Sheet向Amazon SQS队列发送消息
  • 在EC2实例上运行的Python代码不断轮询SQS队列以检查消息(使用receive_message(...,WaitTimeSeconds=20)来减少调用的数量
  • 如果找到消息,那么Python代码可以处理该信息(例如发送电子邮件),然后从队列
  • 中删除该消息

这样,你的实例可以保持安全,而不需要打开它到互联网。

一些服务似乎提供了从Google Sheets向SQS发送消息的能力:

  • AWS - SQS -发送消息与AWS API在新的工作表(共享驱动器,即时)从Google表API - Pipedream
  • 定价方案| Appy Pie Connect
  • 或者,您可以自己编写该功能

否则,你需要在EC2实例上运行一个web服务器,并让Google Sheet用你的请求"调用"web服务器。

或者,如果你想更花哨,你可以把你的代码转换成一个AWS Lambda函数,并使用API网关来"调用"代码。这样,您就不需要Amazon EC2实例,但是配置起来比较复杂。

最新更新