如何使用 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 中 运行)。