首页 > 解决方案 > 我应该从哪里连接到 aws?nodejs服务器?还是角度客户端?

问题描述

我正在为我的角度/离子应用程序使用 nodejs、mongodb、aws-s3 堆栈。我需要下载并存储一些图像,例如个人资料图像等。所以我想知道从什么连接到 aws-S3 的最佳做法是什么?服务器还是直接客户端?

对我来说,直接从客户端连接到 aws-S3 以下载和存储图像似乎更合乎逻辑(认为它会更快并且更流畅)。但是我不想为此将整个 aws-sdk 包安装到应用程序中,并且找不到仅适用于 S3 客户端的合法 npm 包。

那你们怎么看?哪个是更好的做法?

编辑:我没有使用 REST 模型来连接服务器和客户端。而是将 RPC 与 GRPC 一起使用。所以我从服务器连接 aws,这意味着我需要下载每个图像 2 次才能将其转发到客户端。首先,我需要将它从 S3 获取到服务器,然后通过 GRPC 将其发送到客户端,这可能会很慢。

标签: node.jsangularamazon-s3aws-sdk

解决方案


如果它是“公共”图片或文件,您可以将其存储在 aws s3 中并将链接存储在数据库中的某个位置。当您想显示图片时,您可以简单地使用例如(所以,没有 sdk)。但如果是私有文件,您应该从具有身份验证系统的后台获取它们,并且可以使用 sdk throw aws athentication 连接到 aws。


推荐阅读