首页 文章

从客户端应用程序上载Azure媒体服务/ blob存储[关闭]

提问于
浏览
1

我无法理解这个话题 . documentation很好,但我缺少的是一个真实场景,我可以使用blob存储或azure媒体服务从客户端应用程序上传视频 .

我们目前有一个制作视频的桌面应用程序(C#,WPF) . WPF应用程序已与ASP.NET Web API进行通信和身份验证 . 我想到的是以某种方式在Web API中实现给定文档,然后以某种方式让用户通过我们的API上传它 . 然后,通过我们的API将其流式传输到App(Xamarin)或网站(Angular frontend) .

所以我的问题是,如何通过ASP.NET API将视频从WPF应用程序上传到Azure媒体服务或blob存储 .

根本问题是:最佳策略是什么?最好的方法?是否建议上传或Azure媒体服务使用blob存储?对于流媒体(下载)?

询问的原因是我当然不希望将凭证存储在客户端应用程序中 .

1 回答

  • 4

    假设典型视频的大小非常大,您不希望通过自己的API代理上传 . 解决方案是使用共享访问签名(SAS)URL来处理视频的上载或下载 .

    简而言之,SAS URL涉及在特定访问范围(例如只读或只写)的有限时间内为特定blob(或其他资源)创建访问令牌 .

    • 您的前端应用程序(WPF / Xamarin / Angular)将从您的API请求SAS URL .

    • 您的API使用秘密Azure凭据,并在Azure SDK / API的帮助下生成相应的SAS URL . 对于例如您的桌面应用可以请求创建blob权限限制为10分钟的SAS URL .

    • API将SAS URL返回给应用程序,它使用标准HTTP PUT或HTTP GET上传或下载视频 .

    可以在Microsoft Docs网站here上阅读有关SAS使用的各种模式的详细说明 .

相关问题