You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure DevOps流水线中实现Azure Blob存储文件到本地的复制

在Azure DevOps流水线中复制Azure Blob到本地(无需AzCopy)

核心方案:利用Azure PowerShell模块实现

微软托管的Azure DevOps代理默认预装了Az.Storage模块,无需额外安装工具,通过Azure资源管理器服务连接安全授权,即可完成文件复制。

流水线YAML配置示例

steps:
- task: AzurePowerShell@5
  inputs:
    azureSubscription: '你的Azure资源管理器服务连接名称'
    ScriptType: 'InlineScript'
    Inline: |
      # 确保本地目标目录存在
      $localDir = "c:\data"
      if (-not (Test-Path $localDir)) {
          New-Item -ItemType Directory -Path $localDir | Out-Null
      }

      # 配置存储账户和Blob信息
      $storageAccount = "你的存储账户名称"
      $container = "Blob容器名称"
      $targetFile = Join-Path $localDir "test.xml"

      # 下载Blob到本地
      $storageContext = (Get-AzStorageAccount -Name $storageAccount).Context
      Get-AzStorageBlobContent -Container $container -Blob "test.xml" -Destination $targetFile -Context $storageContext
    azurePowerShellVersion: 'LatestVersion'

关键细节说明

  1. 服务连接配置:先在Azure DevOps项目中创建Azure资源管理器服务连接,关联存储账户所在的Azure订阅,流水线通过该连接获取访问权限,无需硬编码凭证。
  2. 自托管代理适配:如果使用自托管代理,只需一次性运行Install-Module -Name Az.Storage -Force -AllowClobber安装模块即可。
  3. PAT替代方案(不推荐):若必须使用PAT,需确保PAT对应的身份拥有存储账户的Storage Blob Data Reader权限,可通过Azure CLI实现:
# 用PAT登录Azure
az login --service-principal -u <客户端ID> -p <你的PAT令牌> --tenant <Azure租户ID>

# 下载Blob文件
az storage blob download --account-name <存储账户名> --container-name <容器名> --name test.xml --file c:\data\test.xml

注意:PAT主要用于Azure DevOps内部资源访问,用其访问Azure存储并非最佳实践,优先推荐资源管理器服务连接。

内容的提问来源于stack exchange,提问作者Ashish Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:40:51