node.js - 我应该从哪里连接到 aws?nodejs服务器?还是角度客户端?
问题描述
我正在为我的角度/离子应用程序使用 nodejs、mongodb、aws-s3 堆栈。我需要下载并存储一些图像,例如个人资料图像等。所以我想知道从什么连接到 aws-S3 的最佳做法是什么?服务器还是直接客户端?
对我来说,直接从客户端连接到 aws-S3 以下载和存储图像似乎更合乎逻辑(认为它会更快并且更流畅)。但是我不想为此将整个 aws-sdk 包安装到应用程序中,并且找不到仅适用于 S3 客户端的合法 npm 包。
那你们怎么看?哪个是更好的做法?
编辑:我没有使用 REST 模型来连接服务器和客户端。而是将 RPC 与 GRPC 一起使用。所以我从服务器连接 aws,这意味着我需要下载每个图像 2 次才能将其转发到客户端。首先,我需要将它从 S3 获取到服务器,然后通过 GRPC 将其发送到客户端,这可能会很慢。
解决方案
如果它是“公共”图片或文件,您可以将其存储在 aws s3 中并将链接存储在数据库中的某个位置。当您想显示图片时,您可以简单地使用例如(所以,没有 sdk)。但如果是私有文件,您应该从具有身份验证系统的后台获取它们,并且可以使用 sdk throw aws athentication 连接到 aws。
推荐阅读
- python - Azure 数据湖 - 使用 Python 读取
- python - 使用 Python 和 Selenium 验证 url
- excel - 将动态列中的不同值获取到另一个工作表中
- java - 无法在应用程序之外解析 ContentProvider
- windows - 使用 terraform 在 vsphere_virtual_machine 上创建 windows 目录
- mysql - 如何转换此 SQL Select 查询以对结果集的表值执行更新?
- html - 当父级溢出时如何使子级div占用所有水平空间:滚动
- php - 如何使用 PHP 检查文本文件中的字符串重复项?
- javascript - 选中一个后,在所有 TableRow 元素上显示复选框
- laravel - 打印仪表板中的最后 5 篇文章