【发布时间】:2022-03-03 20:07:03
【问题描述】:
我尝试为同一个 s3 存储桶中的两个视频手动创建预签名 URL,并将到期日期设置为 7 天:
第一个(47,3 MO 和 20 秒长)运行良好。
第二个视频(82,3 MO 和 6 分钟长)不工作:它在控制台中显示没有错误
即使我使用 lambda 函数生成预签名 URL,也是同样的问题。
My lambda function code in NodeJS
我发现这个问题可以帮助我,但也没有解决:
【问题讨论】:
-
我会检查 S3 中每个对象的内容类型是否正确,例如视频/mp4。我会使用 curl 或 wget 在浏览器之外检索这两个文件,并确保 a)它们都完全下载(检查文件大小)和 b)它们之后都可以播放(使用 VLC 或 QuickTime 等)
-
PS 您通常不能使用 AWS Lambda 生成有效期为 7 天的预签名 URL。到期时间将是您请求的最短时间和 Lambda 函数的基于角色的 IAM 凭证有效的剩余时间(12 小时)。当然,除非 Lambda 函数还可以访问(长期)IAM 用户凭证并使用这些凭证对 URL 进行预签名。
-
我确实检查了两个视频内容类型并测试了它们,它们都是相同的,并且可以在不同的媒体播放器上正常工作。非常感谢您的回答,我将为我的 lambda 函数创建一个访问密钥,以保证 7 天的有效期
标签: node.js amazon-web-services pre-signed-url