通过azure devops管道删除azure存储帐户容器中的文件夹内容

问题描述 投票:0回答:1

我在通过 Azure CLI 删除存储帐户容器内的文件夹中包含的数据时遇到问题。 有一棵这样的树:

Documents
  1.0.0
   <Files>
  2.0.0
   <Files>
  3.0.0
   <Files>   

我想删除3.0.0文件夹中包含的所有文件夹和文件,其他保持不变。我能怎么做?我正在使用

az storage blob delete-batch --account-name $account --source $container --pattern '*[/3.0.0/]*' --connection-string $conn-str
但它似乎没有任何效果,容器中的所有文件都被删除。有什么想法吗?

azure azure-blob-storage azure-cli
1个回答
0
投票

Azure CLI az storage blob delete-batch 命令不支持指定直接删除特定文件夹中的 blob 的模式。相反,您需要显式指定要删除的 blob。

要删除 3.0.0 文件夹中的所有 Blob,可以结合使用 az storage blob delete-batch 和 az storage blob list 命令以及一些 shell 脚本。具体方法如下:

# List blobs in the "3.0.0" folder
blob_names=$(az storage blob list --account-name $account --container-name 
$container --prefix "Documents/3.0.0/" --query "[].name" -o tsv)

# Delete each blob in the "3.0.0" folder
for blob_name in $blob_names; do
    az storage blob delete --account-name $account --container-name 
$container --name $blob_name
done

不要忘记执行删除操作所需的权限。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.