【问题标题】:Using Azure File Copy Task in Azure DevOps to Copy Data from Storage Account to Storage Account在 Azure DevOps 中使用 Azure 文件复制任务将数据从存储帐户复制到存储帐户
【发布时间】:2021-06-08 15:48:53
【问题描述】:

我配置了以下 YAML,但猜测我不能在此处使用存储帐户作为源输入?我认为我可以,因为该任务只是使用 azcopy(注意:该命令在命令行中工作正常,只是不在管道中(即设置了权限(例如,已授权 SPN 并设置了 RBAC)。

代码如下:

trigger:
- dev

pool:
  vmImage: windows-latest
steps:
 #Copy files to Azure Blob Storage
- task: AzureFileCopy@4
  inputs:
    sourcePath: 'https://someonesbackups.blob.core.windows.net/backups?mysastokengoeshere'
    azureSubscription: MY-Production-Subscription
    destination: azureBlob
    storage: azcopypipelinetest
    containerName: restored
    additionalArgumentsForBlobCopy: --recursive=true

但是,当它运行时,我收到以下错误:

"failed to perform copy command due to error: cannot start job due to error: cannot scan the path \\?\D:\a\1\s\https:\someonesbackups.blob.core.windows.net\backups?mysastokengoeshere=-REDACTED-, please verify that it is a valid."

当然看起来好像你可以做到这一点,但我猜我在这里遗漏了一些基本的东西。

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-file-copy?view=azure-devops

【问题讨论】:

  • 所以,可以肯定的是,这是一个令人头疼的问题 - 我已经查看了 AzureFileCopy@4 任务的 Powershell,它似乎直接传递它到与azcopy 命令一起使用它的实用程序函数。反过来,AzCopy 应该支持容器到容器的副本,所以从这个角度来看,你似乎没有做错任何事情。我无法真正看到的唯一一件事是,因为我无法轻松验证底层来源,是该参数上的 Get-VSTSInput 是否以某种方式“清理”它???
  • 您在哪里/找到了该 AzureFileCopy@4 任务的 PS 代码?
  • github.com/microsoft/azure-pipelines-tasks。了解幕后发生的事情非常有用。
  • 您好,这个问题有更新吗?凯文的回答对你有帮助吗?请随时评论~提醒一下this

标签: azure azure-devops azure-pipelines azcopy


【解决方案1】:

Azure 文件复制任务仅支持将文件从本地计算机或 UNC 共享上传到存储帐户。

您可以查看任务介绍中的sourcepath字段定义。

要将数据从存储帐户复制到存储帐户,您需要使用azcopy command将文件复制到本地计算机,并使用Azure文件复制任务将文件上传到另一个存储帐户。

- script: 'azcopy copy ''https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*'' ''$(build.sourcesdirectory)\myDirectory'''
  displayName: 'Command Line Script'

- task: AzureFileCopy@4
  inputs:
    sourcePath: '$(build.sourcesdirectory)\myDirectory'
    azureSubscription: MY-Production-Subscription
    destination: azureBlob
    storage: azcopypipelinetest
    containerName: restored
    additionalArgumentsForBlobCopy: --recursive=true

【讨论】:

    猜你喜欢
    • 2021-04-30
    • 2022-11-11
    • 2020-07-31
    • 2017-03-26
    • 1970-01-01
    • 2016-11-25
    • 2019-12-30
    • 2021-12-23
    • 2021-02-22
    相关资源
    最近更新 更多