DVC导入Azure Blob存储数据认证失败,如何配置sas_token?
解决DVC导入Azure Blob存储数据的权限问题
问题原因
执行dvc import从DataProject2拉取数据失败,核心原因是MLProject缺少访问DataProject2关联的Azure Blob存储的权限凭证。DataProject2内部已配置SAS token,但MLProject无法自动继承该凭证,导致Azure拒绝数据访问请求。
解决方案
1. 在MLProject中配置DataProject2的Azure远程仓库
将DataProject2使用的Azure Blob远程仓库添加到MLProject,并配置对应的SAS token:
- 添加远程仓库:
dvc remote add data_project2_azure azure://<你的容器名>/<存储路径> - 设置SAS token:
也可直接编辑MLProject根目录下的dvc remote modify data_project2_azure sas_token '<你的SAS令牌>'.dvc/config文件,手动添加配置:[remote "data_project2_azure"] url = azure://<容器名>/<路径> sas_token = <你的SAS令牌>
2. 执行dvc import时指定远程仓库
配置完成后,在import命令中通过--remote参数指定刚配置的远程:
dvc import -o 'data/project2' 'https://company.visualstudio.com/DefaultCollection/proj/_git/DataProject2' 'data/project2' --remote data_project2_azure
3. 验证SAS令牌权限
确保你的SAS令牌具备以下必要权限:
- 读取(Read):允许下载Blob内容
- 列出(List):允许遍历容器内的文件
同时检查令牌是否在有效期内,以及是否设置了IP限制(若有,需确保当前机器IP在允许范围内)。
内容的提问来源于stack exchange,提问作者Giuseppe Romagnuolo
相关产品推荐
相关产品推荐

