Azure DevOps流水线中用AZ CLI添加Azure文件共享到备份策略失败求助
Azure文件共享备份策略添加失败:Storage not found or not Supported 排查方案
以下是针对你遇到的错误的常见排查步骤,按优先级逐一验证:
1. 确认存储账户类型符合要求
Azure文件共享备份仅支持标准LRS/GRS/ZRS/GZRS类型的存储账户,Premium存储账户或仅Blob存储账户不支持。
执行以下命令检查存储账户类型:
az storage account show --name sasample --resource-group <存储账户所属资源组名称> --query sku.name
若返回值包含Premium或BlobStorage,则需更换符合要求的存储账户。
2. 验证存储账户与恢复服务保管库的区域一致性
存储账户必须与恢复服务保管库处于同一Azure区域,否则会触发"Storage not found"错误。
分别执行命令查询两者区域:
# 查询恢复服务保管库区域 az backup vault show --name rsvault --resource-group vaultresourcegroup --query location # 查询存储账户区域 az storage account show --name sasample --resource-group <存储账户所属资源组名称> --query location
确保两个命令返回的区域值完全一致(例如均为eastus)。
3. 确认订阅已注册RecoveryServices资源提供者
存储账户所在的Azure订阅必须注册Microsoft.RecoveryServices资源提供者,否则备份服务无法识别存储资源。
执行命令检查注册状态:
az provider show --namespace Microsoft.RecoveryServices --query registrationState
若返回值不是Registered,执行以下命令注册(需等待数分钟生效):
az provider register --namespace Microsoft.RecoveryServices
4. 核对CLI命令参数准确性
- 确认存储账户名称
sasample拼写无误,且目标文件共享fileshare1确实存在于该存储账户中,可执行以下命令验证:az storage share exists --name fileshare1 --account-name sasample - 确认
--resource-group参数指定的是恢复服务保管库所属的资源组(你的命令中为vaultresourcegroup),无需指定存储账户的资源组(即使两者不同)。
5. 检查流水线服务主体的权限
Azure DevOps流水线使用的服务主体(对应流水线的服务连接)需具备以下权限:
- 对恢复服务保管库拥有
Backup Contributor角色 - 对目标存储账户拥有
Storage Account Contributor或Backup Operator角色
可在Azure门户的IAM权限设置中验证并补充角色。
6. 确认存储账户处于可用状态
检查存储账户是否被锁定(例如资源锁定)或处于不可用状态:
az storage account show --name sasample --query statusOfPrimary
返回值应为available,若为其他状态需先修复存储账户的可用性问题。
内容的提问来源于stack exchange,提问作者ramesh reddy
相关产品推荐
相关产品推荐

