azure - 复制前删除 Azure Blob 内容

标签 azure azure-pipelines azure-blob-storage

我正在创建一个执行以下操作的 Azure 管道:

  • 获取最后一个工件
  • 将该工件复制到 azure 容器

这可行,但我需要在复制之前删除容器中的所有内容。这些文件位于子文件夹中,但存在以下问题:

Azure 文件复制 v5 出现 blob 前缀错误,因此我无法使用清理文件。所以不得不降到 v3 并且不知道从这里去哪里

使用了 v5,但收到错误上传到带有 blob 前缀的容器失败,错误为 azcopy.exe

最佳答案

如果您在尝试删除 Azure 容器中的文件时遇到 Azure File Copy v5 问题和 blob 前缀错误, 您可以使用 尝试另一种方法>Azure 管道中的 Azure CLI 任务。

您可以将 azcopy remove 命令与 --recursive 命令结合使用,以删除 Azure Blob Storage 中容器中的所有文件.

Azure CLI 任务,在脚本中使用 azcopy remove 命令删除容器中的所有文件。

以下是使用 azcopy remove 删除容器中所有 Blob 的示例命令

azcopy remove "https://<storage-account-name>.blob.core.windows.net/<container-name>/*" --recursive 

删除任务:

    - task: AzureCLI@2
      inputs:
        azureSubscription: '<Azure subscription>'
        scriptType: 'bash'
        scriptLocation: 'inlineScript'
        inlineScript: |
          azcopy remove "https://<storage-account-name>.blob.core.windows.net/<container-name>/*" --recursive

enter image description here

  • 删除容器中的所有文件后,您可以继续处理 Azure 文件 Copy将新项目复制到 Azure 容器的任务。
  • azcopy copy "<path-to-artifact>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive --delete-destination
    

    复制任务:

        - task: AzureCLI@2
              inputs:
                azureSubscription: '<Azure subscription>'
                scriptType: 'bash'
                scriptLocation: 'inlineScript'
                inlineScript: |
                azcopy copy "<path-to-artifact>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive --delete-destination
    

    关于azure - 复制前删除 Azure Blob 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76587999/

    相关文章:

    azure - 无法更新 Azure devops 中 Azsk 任务中的策略设置

    azure - Azure DevOps 构建中的多个通配符触发器

    Azure 中国存储 - AZCopy 上传失败

    azure - 我可以上传到 azure blob uploadfile 方法的最大文件大小是多少

    c# - 以编程方式从 Azure Blob 存储连接字符串中提取属性

    c# - 如何生成 SAS token 以安全连接到 Azure IOT 中心

    azure - Service Fabric 设置实例计数 -1

    azure - 将其他文件添加到 Azure 构建管道

    azure - 将 Azure 数据工厂上的数据管道从 SQL Server 复制到 Blob 存储

    azure - 从外部访问服务