同一Azure存储账户内数据湖容器间复制文件时出现CannotVerifyCopySource错误排查求助
同一Azure存储账户内数据湖容器间复制文件时出现CannotVerifyCopySource错误排查求助
大家好,我最近在尝试用Azure Java SDK把同一个存储账户下的数据湖容器A里的文件复制到容器B,结果遇到了认证错误,折腾了好久没解决,想请大家帮忙看看问题出在哪。
遇到的错误信息
Error: CannotVerifyCopySourceServer failed to authenticate the request. Please refer to the information in the www-authenticate header when copying a blob from one container to another within the same storage account.
我的预期与困惑
我原本以为只要给存储账户范围添加了Storage Blob Data Contributor角色,就可以实现同账户内容器间的文件复制了。而且我发现当存储账户开启“blob公共访问”时,复制操作是可以正常工作的,但关闭公共访问后就报错了,这就让我更困惑了。
存储账户与容器的配置信息
- 存储账户是刚创建的(仅1天历史)
- 容器A和B都属于同一个存储账户
- 存储账户已禁用公共访问
- 已在存储账户范围内分配了Storage Blob Data Contributor角色
- 尝试过两种认证方式:
- 从Azure门户生成的存储账户级别的有效共享访问签名(SAS)
- 存储账户访问密钥
使用的SDK与方法
- SDK版本:
azure-storage-file-datalake12.15.0 - 调用方法:
com.azure.storage.blob.BlobClient中的copyFromUrlWithResponse - 确认:要复制的源文件确实存在于容器A中
备注:内容来源于stack exchange,提问作者kumaran-sowrirajan
相关产品推荐
相关产品推荐

