python - Aws lambda 调用 sftp 服务器并解密新文件并移动它们
问题描述
我有一个 sftp 服务器,其中一些文件来自~/raw/in/
文件夹中的第 3 方作为 filename.enc
格式。我想使用decrypt filename.enc
命令对其进行解密,然后将该文件放在同一个文件夹中并.enc
从该文件中删除,然后它变为.txt
,之后我想将其移动到~/res/in/
文件夹中。
我想每 5 分钟使用 AWS lambda 服务器执行此任务,以解密文件~/raw/in/
夹中 sftp 服务器的所有新文件,并且它还应该对 lambda 服务器请求进行身份验证。
现在我认为我的 lambda 服务器代码已准备就绪,但我没有得到另一部分,我应该制作一个 shell 脚本(然后我将如何调用它以及如何执行它),还是做其他事情。
拉姆达代码
def lambda_handler(event:, context:)
uri = URI("")
http = Net::HTTP.new(uri.host,uri.port)
http.use_ssl = true
req = Net::HTTP::Get.new(uri)
req.basic_auth "username","password"
res = http.request(req)
res.body
end
解决方案
您可以使用云监视事件触发 lambda 函数按计划运行。它们的设置非常简单,这里有一个很好的指南 - https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents.html。
您将需要使用 cron 表达式来确定它的运行频率,持续 5 分钟0 0/5 * 1/1 * ? *
推荐阅读
- python - 从 Github 下载的项目设置错误
- python - 如何使用 Python 禁用或启用 windows shield?
- amazon-web-services - 如何在 Docker 容器中运行命令
- r - 合并数据框并填充缺失值
- javascript - 如果放在“img”目录下,express.static 不提供静态文件(图像)
- javascript - 如何检查路径是文件还是目录
- javascript - socket.io 不允许 clearInterval 工作
- python - 以最“python 方式”从另一个列表中创建一个列表
- python - docker - 安装模块后的 ModuleNotFoundError
- angular - 如何在角度材料表中的嵌套对象内显示数据