список и восстановление удаленных программных блобов - лазурный питон - PullRequest
0 голосов
/ 28 октября 2018

Мне нужно восстановить несколько BLOB-объектов в моем контейнере. Учетная запись хранения была включена с мягким удалением в течение 10 дней. Я вижу здесь о том, как восстановить, но у меня есть несколько рекурсивных блобов в каталогах, которые удаляются мягко

Однако мне не удалось найти здесь через python.

Мне нужно сделать это на python, чтобы получить список и восстановить шарики

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Как уже упоминал Джей, в настоящее время вы не можете сказать API-интерфейсу хранилища Azure для возврата только мягко удаленных больших двоичных объектов.Что вам нужно сделать, это перечислить все BLOB-объекты в контейнере BLOB-объектов и попросить REST API включить удаленные BLOB-объекты в список.

Таким образом, вы будете вызывать метод list_blobs иДля параметра include в этом методе необходимо указать include.DELETED.Возвращенный список BLOB-объектов будет включать удаленные BLOB-объекты.

Затем вы циклически перебираете BLOB-объекты и выясняете, какие из BLOB-объектов находятся в мягком удаленном состоянии, и будете использовать undelete_blob для их удаления.

Вы также упомянули, что вы также удалили капли в подпапках.Чтобы перечислить все BLOB-объекты, вам нужно указать delimiter как пустую строку.Затем вы получите блобы в подпапках.

0 голосов
/ 29 октября 2018

Конечно, вы можете найти метод sdk в Python Storage SDK , соответствующий REST API.

from azure.storage.blob.baseblobservice import (
    BaseBlobService
)

accountName = "***"
accountKey = "***"
containerName = "***"
blobName = "***"

blobService = BaseBlobService(account_name=accountName, account_key=accountKey)

blobService.undelete_blob(containerName, blobName)
...