有选择地删除上传到 Azure blob 的图像(Django/Python 项目)

2024-04-05

在 Django (Python) 项目中,我使用 Azure blob 来存储用户上传的照片。代码如下:

from azure.storage.blob import BlobService

blob_service = BlobService(account_name=accountName, account_key=accountKey)
blob_service.put_blob(
            'pictures',
            name, # including folder
            content_str, # image as stream
            x_ms_blob_type='BlockBlob',
            x_ms_blob_content_type=content_type,
            x_ms_blob_cache_control ='public, max-age=3600, s-maxage=86400'
        )

我的问题是:等效方法是什么delete我的特定场景中上传的照片?我正在编写一个任务来定期清理我的数据模型,因此也想删除与它们相关的图像。


您应该能够使用:

blob_service.delete_blob(container_name, blob_name)

您还可以删除整个容器:

blob_service.delete_container(container_name)

如果您尝试删除快照、处理租约等,还有一些额外的参数会对您有所帮助。

注意put_blob()定义于块blobservice.py https://github.com/Azure/azure-storage-python/blob/master/azure/storage/blob/blockblobservice.py, while delete_blob()定义于基础blobservice.py https://github.com/Azure/azure-storage-python/blob/master/azure/storage/blob/baseblobservice.py(无论是页面、块还是追加 blob,删除都是相同的)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有选择地删除上传到 Azure blob 的图像(Django/Python 项目) 的相关文章

随机推荐