如何使用Azure Blob Storage上传并测试Excel加载项
从Azure Blob Storage运行Excel加载项的完整指南
一、是否支持从Blob Storage运行?
完全可以。Azure Blob Storage是AppSource认证过程中推荐的加载项托管方式,认证团队也会采用这种方式验证你的加载项。
二、具体操作步骤
1. 配置Blob Storage容器
- 确保Blob容器开启静态网站托管:在Azure门户进入存储账户 → 找到「静态网站」选项 → 启用功能,设置“索引文档名称”为加载项的入口HTML文件(比如
index.html),错误文档可设为同一文件。 - 容器访问级别设为私有:后续通过SAS密钥控制访问,避免公开暴露资源。
2. 上传dist文件夹内容
- 将本地
dist文件夹内的所有文件(含子目录)完整上传到Blob容器根目录,严格保持原文件结构(比如assets、scripts子目录需和本地一致)。
3. 修改加载项Manifest文件
- 定位Manifest中所有指向本地资源的字段(如
SourceLocation、IconUrl、HighResolutionIconUrl等),将其替换为Blob Storage对应文件的完整SAS URL。 - 示例:原本地路径
https://localhost:3000/index.html替换为https://yourstorageaccount.blob.core.windows.net/yourcontainer/index.html?<SAS_TOKEN>
4. 生成并配置SAS密钥
- 在Azure门户的存储账户 → 目标容器 → 「生成SAS」:
- 权限:必须勾选读取,若加载项需动态获取资源,可额外勾选列出权限;
- 到期时间:设置覆盖整个认证周期的有效期,避免中途失效;
- 允许的IP地址:可限制为认证团队的IP范围,提升安全性;
- 生成SAS令牌后,将其(从
?开始的部分)附加到每个Blob文件的URL末尾,得到可直接访问的完整URL。
5. 模拟认证团队的测试流程
- 保存修改后的Manifest文件,通过Excel的「插入→加载项→我的加载项→上传我的加载项」选择该Manifest。
- Excel会通过SAS URL从Blob Storage加载你的加载项,这和认证团队的测试方式完全一致。
三、SAS密钥的特殊配置要求
- 必须包含读取权限,否则Excel无法读取加载项资源;
- 若加载项有异步加载的资源(如动态脚本、图片),可生成容器级SAS,让容器内所有文件共用同一个SAS令牌,避免逐个附加;
- 不要设置过严的IP限制,除非确认认证团队的固定IP,否则会导致访问失败;
- 测试阶段用SAS没问题,但正式上架AppSource时,需替换为正式托管域名,不要将SAS令牌硬编码到提交的Manifest中。
四、常见问题排查
- 加载项无法加载时,先验证每个资源的SAS URL能否在浏览器正常打开;
- 检查Manifest中所有URL是否已替换为正确的Blob SAS URL,无本地路径遗漏;
- 确认Blob容器的静态网站配置正确,入口文件存在且路径无误。
内容的提问来源于stack exchange,提问作者Thomas McAuliffe
相关产品推荐
相关产品推荐

