音频文件的 Azure SAS 到期
Posted
技术标签:
【中文标题】音频文件的 Azure SAS 到期【英文标题】:Azure SAS expiry for audio files 【发布时间】:2021-07-13 05:42:59 【问题描述】:我们的音频文件存储在 Azure blob 存储中。
为用户提供播放音频文件的 SAS URL 链接。 SAS URL 的有效期为 5 分钟。但是,对于长音频文件(比如 10 分钟),音频流在 5 分钟后播放音频时停止,因为令牌过期,这是正确的做法。
但是,解决此问题的正确方法是什么?客户端是否在到期前向后端请求新的 SAS 令牌?
【问题讨论】:
【参考方案1】:SAS 令牌基本上需要在一定的时间间隔内不断刷新,以确保没有连接中断。因此,请为此保留重试机制。
【讨论】:
【参考方案2】:对于 SAS 令牌到期,同时缓冲继续跟踪到期时间并更新 SAS 令牌。由于出于安全原因,您不能增加过期时间,但如果过期,请续订。
【讨论】:
【参考方案3】:你做到了 关于缓冲和播放器的工作原理就不多说了。
-
我会这样做,我会在原声带 * 2 的持续时间内发出 SAS
然后,如果您停止播放器,然后重新开始,然后获取新的 SAS 令牌,我会在播放器中添加逻辑。
我会添加错误处理并尝试在错误时获取新的令牌 URL (https://www.w3schools.com/tags/av_event_error.asp)
【讨论】:
感谢您的积分。它使用原生 html5 音频播放。 @SujishPradeep 所以这仍然适用于我写的内容。【参考方案4】:您需要实现更新SAS token
的逻辑,该逻辑将在您的 SAS 令牌过期时起作用,然后您需要在重试逻辑中更新您的令牌。
根据您可以运行更新逻辑来跟踪令牌到期
【讨论】:
以上是关于音频文件的 Azure SAS 到期的主要内容,如果未能解决你的问题,请参考以下文章
使用 Azure.Storage.Blobs 通过 .NET Core 3.1 生成 SAS 到期令牌
Azure Functions + Azure Batch实现MP3音频转码方案