如何使用 AWS Transfer 使用 Node.js 将文件从 AWS 移动到第三方
How to use AWS Transfer to move a file From AWS to third party using Node.js
我看过很多使用 AWS Transfer 将文件移动到 S3 的示例。我有相反的需求。
在一个单独的项目中,有人在 S3 中删除了一个文件。我有 pgp 使用第三方 public 密钥加密该文件的代码。然后代码将加密文件移动到另一个 S3 位置。这部分已经完成并正在运行。
问题:我现在需要通过 SFTP 将这个 S3 加密文件从 AWS 传输到第三方。
AWS Transfer 似乎是个不错的选择。我看到的示例都是针对传入文件的。
我更愿意在 Lambda 中执行此操作。每次删除加密文件时,我在 S3 中设置了一个触发器 运行 Lambda 函数。我有那个设置和工作,但没有别的。
有没有人这样做过?
看来您的要求是:
- 当文件被放入特定的 Amazon S3 存储桶/路径时
- 触发 AWS Lambda 函数
- Lambda 函数应该:
- 加密文件
- 通过 SFTP 将其发送到远程位置
如果除最后一步外一切正常,那么您只需编写代码即可通过 SFTP 发送文件。您可以将此代码放入您的 Lambda 函数中。
例如,在 Node 中有一个名为 ssh2-sftp-client
的库。
参见:
由于连接出站到远程位置,这样的连接不会涉及任何 AWS 服务(除了代码在 AWS Lambda 中 运行)。
我看过很多使用 AWS Transfer 将文件移动到 S3 的示例。我有相反的需求。
在一个单独的项目中,有人在 S3 中删除了一个文件。我有 pgp 使用第三方 public 密钥加密该文件的代码。然后代码将加密文件移动到另一个 S3 位置。这部分已经完成并正在运行。
问题:我现在需要通过 SFTP 将这个 S3 加密文件从 AWS 传输到第三方。
AWS Transfer 似乎是个不错的选择。我看到的示例都是针对传入文件的。
我更愿意在 Lambda 中执行此操作。每次删除加密文件时,我在 S3 中设置了一个触发器 运行 Lambda 函数。我有那个设置和工作,但没有别的。
有没有人这样做过?
看来您的要求是:
- 当文件被放入特定的 Amazon S3 存储桶/路径时
- 触发 AWS Lambda 函数
- Lambda 函数应该:
- 加密文件
- 通过 SFTP 将其发送到远程位置
如果除最后一步外一切正常,那么您只需编写代码即可通过 SFTP 发送文件。您可以将此代码放入您的 Lambda 函数中。
例如,在 Node 中有一个名为 ssh2-sftp-client
的库。
参见:
由于连接出站到远程位置,这样的连接不会涉及任何 AWS 服务(除了代码在 AWS Lambda 中 运行)。