【发布时间】:2021-09-17 23:57:59
【问题描述】:
我对 Azure 和 Azure 媒体服务非常陌生,所以我对媒体上传、存储和管理有很多疑问。这是场景:
我正在使用 Asp.Net Core 创建一个 API,允许用户上传视频、音频和图像。因此,用户可以通过缩略图查看上传的视频、图像和音频列表。 现在我只负责视频上传。上传视频后,我会创建一个缩略图,该缩略图存储到与资产相关联的 Container 中(使用自定义 TransformOutput )。我正在关注官方文档:https://docs.microsoft.com/it-it/azure/media-services/latest/stream-files-tutorial-with-api。
因此,每次用户上传视频时,都会创建一个资产和一个容器。进入容器有缩略图并且容器是私有的,所以没有 SAS Key 就无法访问文件。还有一些我有疑问的地方:
服务器端我必须创建一个带有缩略图的列表,每个缩略图都存储在一个包含视频文件、元数据等的私有容器中,但我不能将整个容器公开,因为我不想允许直接访问视频,但只允许访问缩略图。
也许最好的解决方案是将缩略图分离到另一个公共容器中?
我最初的想法是为每个用户创建 4 个容器:
- User_X_VideoContainer(私有)
- User_X_AudioContainer(私有)
- User_X_ThumbnailsContainer(公共)
- User_X_ImagesContainer(公共)
所以当用户上传视频时,我可以将视频存储到 User_X_VideoContainer 和 Thumbnail 到 User_X_ThumnailsContainer 并使用不同级别的访问权限单个容器。但我不知道这是否是一个好习惯,因为 Azure 媒体服务首先创建一个资产,然后创建一个包含所有内容的容器。那么,Witch 是存储和管理具有不同级别访问权限的用户文件的最佳方式吗?
谢谢!
【问题讨论】:
标签: asp.net-core azure-blob-storage azure-media-services