amazon-web-services - 使用 lambda 函数将视频上传到 s3 存储桶,将视频详细信息上传到 dynamo db
问题描述
我们正在构建一个应用程序来上传和流式传输短视频。已计划使用 AWS S3 和 AWS Lambda 函数、Dynamo DB 以及 AWS API Gateway 来上传视频。我们必须将所有视频文件详细信息例如:用户详细信息存储在 dynamo db 表中。
但是我们可以在 API Gateway 中发现上传大视频文件的一些限制。那么将视频上传到 S3 Bucket 的最佳方法是什么?
解决方案
您可以使用预签名的 url将文件直接上传到 S3 。通过使用预签名的 url,您可以将存储桶保密。
这可以从客户端(Web 浏览器)完成,并根据需要使用 API Gateway 将 S3 密钥或 URL 保存在 DynamoDB 中。
这种方法将减少您的 AWS 服务器上的负载,这是可取的。
一个完整的解决方案可以是这样的
- 调用 API Gateway 以获取预签名的 url 以上传视频
- 客户端(网络浏览器)使用它获得的预签名 URL 进行上传
- 调用 API Gateway 通知上传完成,调用 lambda,将数据保存到 DynamoDB
或者,您可以通过将文件添加到 S3 来触发 lambda,该文件对视频进行进一步处理(例如,可能通过启动媒体转换作业)
推荐阅读
- authentication - Blazor WebAssembly SignalR 身份验证
- c - C程序计算频率最低的字符
- r - 在可能重叠的缓冲区之外的区域中,使用 R 从栅格图层中提取和
- javascript - 将变量设置为用户作为命令键入的最简单方法是什么?
- python - 检查csv列是否由python中的特定值组成的最快方法
- java - 无法访问最后一个链表数组元素
- html - Html 元素不移动
- python - 如何增加 Google Cloud Run 中的内存限制?
- c++ - GLib-ERROR:为 GWakeup 创建管道:打开的文件太多
- python - gRPC 客户端选项会覆盖服务器选项吗?