我正在考虑让我的用户访问他们自己的s3存储桶,以便他们可以在我的Web应用程序中加载并显示其图像。
用户来到我的网站->单击UI->登录并进行身份验证->选择图像->显示它。
这种情况可能吗?怎么样? 我在前端使用React,在后端使用node.js。
我是否使用任何文件传输协议?或如何从s3存储桶中获取图片?
答案 0 :(得分:1)
如果您在前端使用JavaScript,在后端使用节点js,则需要将AWS JS SDK与AWS.S3类一起使用以执行所有交互。
您应该查看使用用户名前缀存储资产,以便更轻松地列出对象(而不是您将存储在image.jpg
的{{1}})。
要上传,您将使用PutObject函数,并使用ListObjectsV2函数列出传入的前缀。
您可以通过使用Cognito User Pool管理身份验证来进一步增强此功能。您可以通过使用IAM策略中的${cognito-identity.amazonaws.com:sub}变量来限制仅对S3中用户特定前缀的访问来增强安全性。
答案 1 :(得分:0)
您可以使用AWS Cognito进行身份验证部分。
存档所需内容的最简单方法是使用AWS Amplify。 See here 遵循this guide以获得有关node.js的分步说明