【问题标题】:Delete Directory containing BLOB from Logic App从逻辑应用中删除包含 BLOB 的目录
【发布时间】:2021-09-01 13:35:26
【问题描述】:

这里的任务是从逻辑应用中删除存储帐户中的文件夹。我正在寻求与“删除 Blob”类似的操作来删除文件夹。比如目录结构是这样的

XYZ -> 2021-06-14 -> 文件名.json

我想删除文件夹本身,但找不到相同的直接操作。也接受任何变通方法。

【问题讨论】:

  • 所提供的答案对您有帮助吗?如果是这样,您能否接受答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)作为您的问题的解决方案。这可能对其他社区成员有益。

标签: azure azure-blob-storage azure-logic-apps


【解决方案1】:

这里有一些链接,您可以在其中了解有关使用逻辑应用删除 blob 中的文件或文件夹的一些详细信息

1)https://lucavallarelli.altervista.org/blog/gdpr-logic-app-delete-blob/

2)https://sameeraman.wordpress.com/2017/08/25/logic-apps-delete-files-older-than-x-days-from-a-blob-storage/

【讨论】:

    【解决方案2】:

    Azure Blob 存储实际上并没有文件夹的概念。层次结构非常简单:存储帐户>容器>blob

    我有两种方法

    方式 - 1 我们可以使用 delete 方法从容器中删除特定的 Blob,如下所示:

    public  void DeleteBlob()
    {
     var _containerName = "appcontainer";
     string _storageConnection = CloudConfigurationManager.GetSetting("StorageConnectionString");
     CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(_storageConnection);
     CloudBlobClient _blobClient = cloudStorageAccount.CreateCloudBlobClient();
     CloudBlobContainer _cloudBlobContainer = _blobClient.GetContainerReference(_containerName);
     CloudBlockBlob _blockBlob = _cloudBlobContainer.GetBlockBlobReference("f115a610-a899-42c6-bd3f-74711eaef8d5-.jpg");
      
     //delete blob from container
    _blockBlob.Delete();
    }
    

    删除操作将是:

    public ActionResult DeleteBlob()
    {
     imageService.DeleteBlob();
     return View();
    }
    

    方式 - 2 列出所需容器中的 blob,然后您可以单独删除它们

    CloudStorageAccount storageAccount = CloudStorageAccount.Parse("your storage account");
    CloudBlobContainer container = storageAccount.CreateCloudBlobClient().GetContainerReference("pictures");
    foreach (IListBlobItem blob in container.GetDirectoryReference("users").ListBlobs(true))
    {
        if (blob.GetType() == typeof(CloudBlob) || blob.GetType().BaseType == typeof(CloudBlob))
        {
            ((CloudBlob)blob).DeleteIfExists();
        }
    }
    

    更多分析可以参考以下链接link 1link 2

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2021-08-25
      • 2012-06-14
      • 1970-01-01
      • 2011-03-21
      • 2019-01-28
      • 1970-01-01
      • 2019-05-09
      • 2013-04-18
      相关资源
      最近更新 更多