我必须从不在AWS上的SFTP服务器读取和处理AWS Lambda函数中的文件。
一些外部来源正在将文件放入不在亚马逊网络服务中的SFTP服务器中,每当文件上传完成时,我们必须通过亚马逊网络服务CloudWatch进行检查,然后触发一个亚马逊网络服务Lambda来处理该文件。
这种方法正确吗?这有可能吗?
如果这是可能的,请建议一些步骤。我检查了亚马逊网络服务的CloudWatch,但我不能找到任何触发器检查文件以外的亚马逊网络服务。
发布于 2019-08-05 20:05:04
您需要创建某种类型的作业来监控您的SFTP目录(例如,使用inotify),然后使用已启用编程访问的IAM用户的AWS访问密钥以及调用该AWS Lambda函数的足够权限来调用AWS Lambda函数。
您还可以创建一个AWS事件,该事件将按计划触发,例如每5分钟触发一次AWS功能,通过维护某个地方的历史记录来检查任何新闻文件,例如在AWS上。但我更愿意从CloudWatch服务器触发AWS,因为使用基于AWS的文件上传检测听起来比使用本地SFTP服务器更好,因为它使用AWS存储和AWS功能,用于在文件/对象上传时创建事件并触发AWS功能。
发布于 2019-09-04 18:09:58
你能修改外部源码吗?如果是,您可以使用aws cli或特定语言sdk向特定主题发送SNS通知。
然后你可以有一个lambda来处理你的文件,这是由SNS主题触发的。
https://stackoverflow.com/questions/57357149
复制相似问题