我每天都有文件放在s3 bucket中,我需要创建lambda函数将这个文件转发到外部sftp((使用java)
我的问题是,我不知道如何从lambda建立与s3的连接来收集文件(最终编辑它,例如重命名),然后转发到sftp。如果我们需要调用另一个lambda函数,是否可以像我们这样调用它?例子。或者我必须像在aws环境之外那样连接?
如果你有一些建议或者一些简单的实现例子,甚至接近这个,那就太好了!
我每天都有文件放在s3 bucket中,我需要创建lambda函数将这个文件转发到外部sftp((使用java)
我的问题是,我不知道如何从lambda建立与s3的连接来收集文件(最终编辑它,例如重命名),然后转发到sftp。如果我们需要调用另一个lambda函数,是否可以像我们这样调用它?例子。或者我必须像在aws环境之外那样连接?
如果你有一些建议或者一些简单的实现例子,甚至接近这个,那就太好了!
2条答案
按热度按时间kq4fsx7k1#
首先,您需要配置s3 bucket以向lambda函数发送新的对象事件。
在lambda函数中,可以将s3对象路径从事件对象中拉出。然后您需要使用awsdkforjava将文件从s3下载到lambda函数的
/tmp
文件夹。然后让函数在/tmp
文件夹。最后,使用sftp库从/tmp
sftp服务器的文件夹。toiithl62#
下面是从s3获取文件并将其保存到sftp的完整示例。
我添加了以下库以使此java模块正常工作:
λ核
谷歌gson
aws s3软件开发包
sshj公司