Azure CLI - шаблон пакетного удаления больших двоичных объектов в хранилище Azure

У меня есть контейнер под названием container1 в моей учетной записи хранения storageaccount1 со следующими файлами:

blobs/tt-aa-rr/data/0/2016/01/03/02/01/20.txt  
blobs/tt-aa-rr/data/0/2016/01/03/02/02/12.txt  
blobs/tt-aa-rr/data/0/2016/01/03/02/03/13.txt  

blobs/tt-aa-rr/data/0/2016/01/03/03/01/10.txt

Я хочу удалить первые 3, для этого я использую следующую команду:

az storage blob delete-batch --source container1 --account-key XXX --account-name storageaccount1 --pattern 'blobs/tt-aa-rr/data/0/2016/01/03/02/*' --debug

Файлы не удаляются, и я вижу следующий журнал:

urllib3.connectionpool : Starting new HTTPS connection (1): storageaccount1.blob.core.windows.net:443
urllib3.connectionpool : https://storageaccount1.blob.core.windows.net:443 "GET /container1?restype=container&comp=list HTTP/1.1" 200 None

Что не так с моим рисунком?

Если я пытаюсь удалить файл за файлом, он работает.


person mibrl12    schedule 21.02.2020    source источник
comment
попробуйте добавить .txt после подстановочного знака (*), чтобы 'blobs / tt-aa-rr / data / 0/2016/01/03/02 / *. txt'   -  person Hugo Barona    schedule 21.02.2020
comment
@HugoBarona пробовал, не помогает :( также 'blobs / tt-aa-rr / data / 0/2016/01/03/02 / * / *. Txt   -  person mibrl12    schedule 21.02.2020
comment
@ mibrl12 находятся ли файлы в подпапках вашего контейнера? В этом случае паттерн не сможет их уловить.   -  person RoadRunner    schedule 21.02.2020
comment
@RoadRunner да, во вложенных папках. Чем очень грустно ..   -  person mibrl12    schedule 21.02.2020
comment
о, извините, я думал, что они находятся в корневой папке. Да, это правда. Подпапки не могут сканироваться, только папки первого уровня. Вы можете указать здесь - docs.microsoft.com/en-us/cli/azure/storage/.   -  person Hugo Barona    schedule 21.02.2020


Ответы (1)


Как указано в комментариях, вы не можете применять шаблоны к подпапкам, только к папкам первого уровня, как описано в здесь. Но при желании вы можете легко написать сценарий для перечисления больших двоичных объектов в вашем контейнере, используя префикс, чтобы отфильтровать их az storage blob list, а затем применить удаление для каждого из результирующих больших двоичных объектов.

person Hugo Barona    schedule 21.02.2020
comment
Хм, не видел этого в документах, явно указанных о подпапках. Впрочем, в этом есть смысл - лазурная плата за список :) thx! - person mibrl12; 21.02.2020