Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 用于视频流的AWS API网关失败。。。需要重新实施设计的建议_Amazon Web Services_Amazon S3_Aws Api Gateway - Fatal编程技术网

Amazon web services 用于视频流的AWS API网关失败。。。需要重新实施设计的建议

Amazon web services 用于视频流的AWS API网关失败。。。需要重新实施设计的建议,amazon-web-services,amazon-s3,aws-api-gateway,Amazon Web Services,Amazon S3,Aws Api Gateway,我计划将AWSAPI网关用于三个目的。所有这些端点都配置了自定义域名、AWS颁发的SSL证书,我还配置了CNAME记录以匹配可能的前端URL api.my-domain.com(返回json数据的REST api调用)(按预期工作) images.my-domain.com(来自S3的二进制图像数据的代理传递)-按预期工作 videos.my-domain.com(DOH!…) 不幸的是,在处理视频时,我遇到了一些问题。较小的视频开始工作,但随后会产生错误。但是这不是主要问题 来自API集成端点

我计划将AWSAPI网关用于三个目的。所有这些端点都配置了自定义域名、AWS颁发的SSL证书,我还配置了CNAME记录以匹配可能的前端URL

  • api.my-domain.com(返回json数据的REST api调用)(按预期工作)
  • images.my-domain.com(来自S3的二进制图像数据的代理传递)-按预期工作
  • videos.my-domain.com(DOH!…)
  • 不幸的是,在处理视频时,我遇到了一些问题。较小的视频开始工作,但随后会产生错误。但是这不是主要问题

    来自API集成端点的响应数据上有一个10MB的最大负载大小,因此我必须为视频想出另一个解决方案

    我不想通过cloundfront主持图像或视频。我希望在所有端点上使用相同的AWS颁发通配符证书*.my-domain.com。我想使用API网关来处理图像请求,因为图像很小,不会超过限制,而且我可以在API级别缓存它们

    一个CNAME指向我的视频S3 bucket works,但不能使用相同的SSL证书,我希望所有流量都来自API网关,而不是直接向bucket端点发送请求

    ```

    所以。。我有什么选择

    我的最佳选择似乎是将MP4视频转码到HLS,并通过cloudfront托管S3存储桶。我真的不想承担使用cloudfont的费用,但对于我想要的设计,我看不到任何更好的选择


    最近的视频偶尔会被观看,需求不高,较旧的视频很少被观看,所以在cloudfront中托管它们似乎是一种浪费

    AWS中视频流的典型设置是将存储在S3中的视频流到AWS。

    继续使用我的S3存储桶中的CloudFront托管内容,看看它是如何工作的


    总体而言,我选择CloudFront的原因是与其他AWS服务的紧密集成,以及能够完全控制S3存储桶中资产的路径/名称,而使用Vimeo,您无法很好地控制资产的名称

    是的,谢谢。。。如前所述,我不知道“我真的不需要或不希望cloudfront发行版用于此用例。视频需要提供,但很少访问看起来我将为此尝试Vimeo Pro…CloudFront+S3通常并不比S3更昂贵。对于大型对象,它通常会稍微便宜一些,因为CloudFront有更好的带宽定价,而且使用CloudFront时S3带宽是免费的。哦!很高兴知道,我不知道免费S3带宽!它是在请求之前将视频移动到边缘位置,还是仅在请求时移动到边缘位置(如果视频是HLS编码的)。不要相信我在价格上的话——您可以在S3和CloudFront定价表上验证这一点。