我在Node.js + Next.js中有一个web应用程序,用户可以上传xlsx文件。然后需要使用Python处理该文件,然后必须将其输出发回(或放入S3之类的容器中)到Node.js应用程序。
我在想,我可以将xlsx文件上传到类似S3的文件中,然后在上传内容时触发一个lambda函数,运行我的python脚本并将输出保存在容器中。这样,我的应用程序就可以通过Node查找输出文件。
然而,我在问自己,是否有更好的方法来解决这个问题,无论是使用云服务还是不使用云服务。
发布于 2020-03-04 22:28:22
您可以直接通过signedUrl将文件发送到s3,并使用lambda回调执行任何操作。或者,你可以使用带有lambda的API Gateway,或者带有lambda@edge的CloudFront,...有很多选项取决于特定的用例。例如,您可以将文件上传到s3,并在上传成功后向API网关发送请求,以获取其他逻辑。
发布于 2020-03-04 23:10:51
对我来说,最好的方法是将Node层和Python层分开。Node可以作为FrontEnd上传文件,触发API Gateway,API Gateway再触发基于Python的Lambda函数。处理逻辑可以在这个Lambda函数中实现。在处理之后,您可以在Lambda函数本身中进行实现,以将处理后的文件保存到S3中。
这里我建议使用Lambda函数,因为你的用例是事件驱动的。如果您不想使用Lambda和API Gateway,那么还有其他解决方案,如AWS ECS。
https://stackoverflow.com/questions/60527946
复制相似问题