我正在开发一个图像共享应用程序,其中我必须处理大量的S3图像上传。目前,我正在使用S3预签名URL从移动应用程序上传图像。问题是这种方法不'不支持分段上传。
所以我研究了API网关和lambda文件上传。最终,我实现了一个解决方案。这里的问题是 API 网关的内容长度限制为 10 MB,而 lambda 只能接受最大 6 MB 的 JSON 负载。
我使用nodejs作为后端服务器。如何从移动应用程序执行 S3 分段上传而不共享 IAM key ?
我找到了另一种从服务器对每个多部分 URL 进行签名的方法。但是没有适当的实现指南。
有人能给出正确的答案吗?
注意:我不想授予对 S3 存储桶的公共(public)写入权限,并且我不使用 EC2 服务器。
最佳答案
正确的答案很可能是使用 AWS Cognito 在需要时向每个移动设备/用户颁发临时凭证,并仅授予他们所需的最低权限 - 即“丢弃” key 。
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html
关于node.js - 如何在不共享 key 的情况下执行AWS S3分段上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48962825/