我需要还原容器中的多个Blob。该存储帐户已启用了10天的软删除功能。 我看到here关于如何删除的信息,但是在被软删除的目录中,我递归地存在多个blob
但是我无法通过python找到here。
我需要在python中进行操作以列出和取消删除斑点
答案 0 :(得分:1)
如Jay所述,当前您无法告诉Azure Storage REST API仅返回软删除的Blob。您需要做的是列出blob容器中的所有blob,并要求REST API在列表中包括已删除的blob。
因此,您将调用list_blobs
方法,并且对于该方法中的include
参数,您需要指定include.DELETED
。返回的Blob列表将包含已删除的Blob。
然后,您将遍历这些blob,找出哪些blob处于软删除状态,并将使用undelete_blob
对其进行删除。
您还提到您还删除了子文件夹中的Blob。要列出所有Blob,您需要将delimiter
指定为空字符串。然后,您还将在子文件夹中获得Blob。
答案 1 :(得分:0)
当然,您可以在Python Storage SDK中找到与REST API相对应的sdk方法。
from azure.storage.blob.baseblobservice import (
BaseBlobService
)
accountName = "***"
accountKey = "***"
containerName = "***"
blobName = "***"
blobService = BaseBlobService(account_name=accountName, account_key=accountKey)
blobService.undelete_blob(containerName, blobName)
希望它对您有帮助。