【问题标题】:How can I download a file from blob storage inside an Azure pipeline?如何从 Azure 管道内的 Blob 存储下载文件?
【发布时间】:2020-07-24 23:20:45
【问题描述】:

我正在尝试下载我已上传到 Azure blob 存储的文件,我想在 Azure Pipelines 构建期间使用该文件。

我正在使用windows-latest Microsoft 托管的虚拟机进行构建。

我已尝试制作一个 powershell 脚本并使用 azcopy,但我无法对其进行身份验证。我尝试过查看文档,但是有太多的术语、首字母缩略词和不同的做事方式,我迷路了。似乎由于我使用的是 Azure 提供的 vm,我应该能够以某种方式使用内置身份验证而无需传递凭据,但我无法弄清楚。我试过azcopy login --identity,但也没有用。我也尝试过通过 Azure Powershell 运行,但这并没有什么不同

在我的管道的一部分中,我使用工具安装程序任务来安装 java JDK——我所要做的就是向它传递一个服务连接,它可以毫无问题地工作。 JDK和安装程序都在同一个blob中,所以我可以使用Service Connection进行身份验证吗?

【问题讨论】:

    标签: azure-devops azure-pipelines azcopy


    【解决方案1】:

    您可以尝试在 Azure cli 任务中执行 az storage blob download 命令从 Azure Blob Storage 下载文件:

    steps:
    - task: AzureCLI@1
      displayName: 'Azure CLI '
      inputs:
        azureSubscription: {service connection}
        scriptLocation: inlineScript
        inlineScript: |
         mkdir $(Build.SourcesDirectory)\BlobFile
         az storage blob download --container-name $(containername) --file $(Build.SourcesDirectory)\BlobFile --name "{file name}" --account-key $(accountkey) --account-name $(accountname)
    

    使用mkdir在当前目录创建一个文件夹,然后从blob下载文件并保存到这个文件夹中。服务连接已集成到此任务中,因此您可以配置服务连接以连接到您的 Azure Blob。然后在此 Azure cli 任务中选择它。

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2020-08-08
      • 1970-01-01
      • 2018-11-07
      相关资源
      最近更新 更多