首页 > 解决方案 > 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

标签: pythonruby-on-railsamazon-web-servicesamazon-ec2aws-lambda

解决方案


您可以使用云监视事件触发 lambda 函数按计划运行。它们的设置非常简单,这里有一个很好的指南 - https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents.html

您将需要使用 cron 表达式来确定它的运行频率,持续 5 分钟0 0/5 * 1/1 * ? *


推荐阅读