【问题标题】:AWS presigned URL fails when the video is longer than 1 minute当视频超过 1 分钟时,AWS 预签名 URL 失败
【发布时间】:2022-03-03 20:07:03
【问题描述】:

我尝试为同一个 s3 存储桶中的两个视频手动创建预签名 URL,并将到期日期设置为 7 天:

第一个(47,3 MO 和 20 秒长)运行良好。

First video url output

第二个视频(82,3 MO 和 6 分钟长)不工作:它在控制台中显示没有错误

Second video url output

即使我使用 lambda 函数生成预签名 URL,也是同样的问题。

My lambda function code in NodeJS

我发现这个问题可以帮助我,但也没有解决:

S3 presigned url fails when large files

【问题讨论】:

  • 我会检查 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


【解决方案1】:

原来是视频的问题。我使用的视频是转换为 MP4 的延时摄影,我猜格式不正确,这就是 S3 不支持它的原因

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 2022-12-18
    • 2022-11-10
    • 2020-11-27
    • 2018-02-01
    • 2018-09-21
    • 2012-02-11
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多