问题描述

把MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度,这是什么情况呢?

问题解答

因为MP4上传到Azure Blob后,根据公开的权限,可以直接通过Storage Blob URL +/ Blob Container + / Blob Name 的URL形式访问。 只是在返回的Response Header中,我们发现从Blob中返回的部分Hader中:

  1. Last-Modified: Mon, 12 Dec 2022 11:53:58 GMT
  2. Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
  3. x-ms-blob-type: BlockBlob
  4. x-ms-lease-status: unlocked
  5. x-ms-request-id: b60d98a3-d01e-0003-0522-0e045b000000
  6. x-ms-version: 2009-09-19

发现X-MS-VERSION(值表示的是Azure存储服务的版本)版本非常低,为2009-09-19版本(一个13年前的版本)。该版本不支持视频文件拖动功能。所以解决的办法为通过PowerShell命令修改Blob文件的x-ms-version。

PowerShell命令如下:

$storageAccount = Get-AzStorageAccount -ResourceGroupName 'your resource group'-Name 'your storage name'
$ctx = $storageAccount.context
Update-AzStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2021-06-08 -context $ctx

或者通过REST API 修改

PUT  https://<your storage account name>.blob.core.chinacloudapi.cn/?restype=service&comp=properties& <SAS Token, 通过门户生成SAS Token>

Request Body 中内容为:

<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<DefaultServiceVersion>2021-06-08</DefaultServiceVersion>
</StorageServiceProperties>

请求发送后的截图:

修改完成后,再次查看同一个MP4的播放返回,发现x-ms-version的值已经变为设置的2021-06-08。

  1. Last-Modified: Mon, 12 Dec 2022 11:53:58 GMT
  2. Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
  3. x-ms-blob-type: BlockBlob
  4. x-ms-error-code: ConditionNotMet
  5. x-ms-lease-status: unlocked
  6. x-ms-request-id: 83858a38-801e-0031-5e26-0e042c000000
  7. x-ms-version: 2021-06-08

参考资料

Azure 存储服务的版本控制:https://learn.microsoft.com/zh-cn/rest/api/storageservices/versioning-for-the-azure-storage-services

Update-AzStorageServiceProperty: https://learn.microsoft.com/en-us/powershell/module/az.storage/update-azstorageserviceproperty?view=azps-9.2.0&viewFallbackFrom=azps-4.6.1

Set Blob Service Properties:https://learn.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties

 
 
 

【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度的更多相关文章

  1. 【Azure 存储服务】代码版 Azure Storage Blob 生成 SAS (Shared Access Signature: 共享访问签名)

    问题描述 在使用Azure存储服务,为了有效的保护Storage的Access Keys.可以使用另一种授权方式访问资源(Shared Access Signature: 共享访问签名), 它的好处可 ...

  2. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例

    什么是表存储 Azure 表存储是一项用于在云中存储结构化 NoSQL 数据的服务,通过无结构化的设计提供键/属性存储. 因为表存储无固定的数据结构要求,因此可以很容易地随着应用程序需求的发展使数据适 ...

  3. 玩转Windows Azure存储服务——网盘

    存储服务是除了计算服务之外最重要的云服务之一.说到云存储,大家可以想到很多产品,例如:AWS S3,Google Drive,百度云盘...而在Windows Azure中,存储服务却是在默默无闻的工 ...

  4. 解读 Windows Azure 存储服务的账单 – 带宽、事务数量,以及容量

    经常有人询问我们,如何估算 Windows Azure 存储服务的成本,以便了解如何更好地构建一个经济有效的应用程序.本文我们将从带宽.事务数量,以及容量这三种存储成本的角度探讨这一问题. 在使用 W ...

  5. 【Azure 存储服务】.NET7.0 示例代码之上传大文件到Azure Storage Blob

    问题描述 在使用Azure的存储服务时候,如果上传的文件大于了100MB, 1GB的情况下,如何上传呢? 问题解答 使用Azure存储服务时,如果要上传文件到Azure Blob,有很多种工具可以实现 ...

  6. 玩转Windows Azure存储服务——高级存储

    在上一篇我们把Windows Azure的存储服务用作网盘,本篇我们继续挖掘Windows Azure的存储服务——高级存储.高级存储自然要比普通存储高大上的,因为高级存储是SSD存储!其吞吐量和IO ...

  7. 【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed

    问题描述 使用Azure Storage Account的共享访问签名(Share Access Signature) 生成的终结点,连接时遇见  The Azure Storage endpoint ...

  8. 【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)

    问题描述 如何把开启NFS协议的Azure Blob挂载到Linux虚拟机中呢? [答案]:可以使用 NFS 3.0 协议从基于 Linux 的 Azure 虚拟机 (VM) 或在本地运行的 Linu ...

  9. 【Azure 存储服务】Hadoop集群中使用ADLS(Azure Data Lake Storage)过程中遇见执行PUT操作报错

    问题描述 在Hadoop集中中,使用ADLS 作为数据源,在执行PUT操作(上传文件到ADLS中),遇见 400错误[put: Operation failed: "An HTTP head ...

  10. 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件

    问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...

随机推荐

  1. 【小测试】读取*.proto文件,再读取service中method的注释

    想要在proto3中定义service,及其service的method.然后在method后面加上特殊注释,通过这个特殊注释来动态生成代码. 下面是测试代码: import ( "gith ...

  2. 【K哥爬虫普法】倒计时21天!事关爬虫er们能否平安回家过年!

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...

  3. 【0基础学爬虫】爬虫基础之自动化工具 Playwright 的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...

  4. ABP-VNext 用户权限管理系统实战----问题与解决方案

    1.swagger请求总是报:400 Bad Request,但是postman请求是没有问题 查看日志报表: 解决方案: 在 ConfigureServices 中增加如下的内容 Configure ...

  5. PKI系统

    PKI系统简介 PKI(Public Key Infrastructure,公钥基础设施)是一种密码学框架,用于安全地管理数字证书.公钥和私钥,以确保通信和数据的机密性.完整性和身份验证.PKI建立在 ...

  6. chrome谷歌浏览器多开(独立环境 独立cookie)

    复制下面代码(路径) "C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D ...

  7. Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验

    开源应用管理平台 Walrus 0.5 已于近日正式发布! Walrus 0.4 引入了全新应用模型,极大程度减少了重复的配置工作,并为研发团队屏蔽了云原生及基础设施的复杂度.Walrus 0.5 在 ...

  8. 编译Assimp时出现“warning C4819”的解决方案

      最近又重新捣鼓起了OpenGL, 使用Assimp库加载3D模型,最新(2023/12/9)的版本是5.3.1. 使用cmake编译本是一件简单的事情: cmake . cmake --build ...

  9. 探索C语言的数据类型:解密编程世界的核心秘密

    欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 常量与变量 1.1 常量 (1) 常量的概念 常量顾名思义就是无法改变的量,比如一周 ...

  10. .NET Core开发实战(第4课:Startup:掌握ASP.NET Core的启动过程)--学习笔记

    04 | Startup:掌握ASP.NET Core的启动过程 新建一个 ASP.NET Core Web 应用程序 选择 API public class Program { public sta ...