首页 > 解决方案 > Azure Blob 存储批量删除具有特定名称的项目

问题描述

假设我有一个 blob 容器,其中包含以下文件的名称

2cfe4d2c-2703-4b0f-bed0-6b239f238206
1a18c31f-bf28-4f64-a796-79237fabc66a
20a300dd-c032-405f-b67d-9c077623c26c
6f4041dd-92da-484a-966d-d5a168a9a2ec
(Let's say there are around ~15000 files)

我想删除大约 1200 个。我有一个包含我要删除的所有名称的文件。就我而言,我使用 JSON 格式,但它的格式并不重要;我知道我要删除的文件。

删除这些项目的最有效/安全的方法是什么?

我能想到几个方法。例如,使用az storage blob deletebatchaz storage blob delete。我确信前者效率更高,但我不知道该怎么做,因为没有真正的模式,只是我想删除的一大串 guid(名称)。

我想我必须编写一些代码来遍历要删除的文件列表,然后使用 CLI 或一些天蓝色的存储库来删除它们。

我宁愿只使用一些内置工具,但我找不到一种方法来做到这一点,而不必编写代码来与 API 对话。

最好的方法是什么?

标签: azureazure-storageazure-blob-storageazure-cli

解决方案


该工具azcopy将是完美的。使用该命令azcopy remove,您可以使用参数指定文本文件的路径以--list-of-files={path}过滤特定文件。该文件应该是纯文本和行分隔。


推荐阅读