让 AWS Lambda 在处理几分钟后发回文件
Make AWS Lambda send back a file after several minutes of processing
我有一个采用 url 的节点应用程序,用 puppeteer 抓取一些文本并使用 deepl 翻译它,然后将结果发送回 txt 文件。它在本地按预期工作,但有很多 url 需要访问并想学习,我正在尝试使此应用程序与 AWS Lambda 和 docker 图像一起使用。
我正在考虑使用 GET/POST 请求将 url 发送到 API 网关以触发我的 lambda 并等待它发回 txt 文件。问题是整个过程需要 2/3 分钟才能完成并发回文件。这在本地不是问题,但我知道你不应该让一个 http 请求等待 3 分钟再返回。
我真的不知道如何解决这个问题。我是否应该创建一个本地服务器并在完成后使 lambda post 成为对我的 ip 地址的请求?
我在这里很茫然。
提前致谢!
可以看到一些看似异步处理问题的替代方法。
用它需要的数据(通过 API、SDK 或 CLI)插入 lambda,然后让它将结果写入 S3 存储桶。可以异步轮询 s3 存储桶的结果并将它们拉下来,显然这需要一些脚本。
另一种方法是让 lambda post 结果到您订阅的 SNS 主题。
也就是说,我不完全确定本地 IP 是什么意思,但我会避免将数据直接推送到自我管理的服务器(或您的本地 IP),而我想使用其中一个AWS 将 SNS、SQS 甚至 S3 等服务“解耦”以拆分处理步骤。这样就可以发出许多请求并根据需要提取数据。
我有一个采用 url 的节点应用程序,用 puppeteer 抓取一些文本并使用 deepl 翻译它,然后将结果发送回 txt 文件。它在本地按预期工作,但有很多 url 需要访问并想学习,我正在尝试使此应用程序与 AWS Lambda 和 docker 图像一起使用。
我正在考虑使用 GET/POST 请求将 url 发送到 API 网关以触发我的 lambda 并等待它发回 txt 文件。问题是整个过程需要 2/3 分钟才能完成并发回文件。这在本地不是问题,但我知道你不应该让一个 http 请求等待 3 分钟再返回。
我真的不知道如何解决这个问题。我是否应该创建一个本地服务器并在完成后使 lambda post 成为对我的 ip 地址的请求?
我在这里很茫然。
提前致谢!
可以看到一些看似异步处理问题的替代方法。
用它需要的数据(通过 API、SDK 或 CLI)插入 lambda,然后让它将结果写入 S3 存储桶。可以异步轮询 s3 存储桶的结果并将它们拉下来,显然这需要一些脚本。
另一种方法是让 lambda post 结果到您订阅的 SNS 主题。
也就是说,我不完全确定本地 IP 是什么意思,但我会避免将数据直接推送到自我管理的服务器(或您的本地 IP),而我想使用其中一个AWS 将 SNS、SQS 甚至 S3 等服务“解耦”以拆分处理步骤。这样就可以发出许多请求并根据需要提取数据。