下午在寫minio上批量刪除對象的邏輯,各種改對象名稱,各種核對代碼,發現啥都沒錯,但是刪除就是不生效。
代碼如下:
from minio.deleteobjects import DeleteObjectdelete_object_list = [DeleteObject("20250626/20250626025656.xlsx")]
self.minio.remove_objects(self.bucket, delete_object_list)
后來想試著打印下報錯,看看哪里出了問題,結果發現迭代一下報錯就可以刪除了……
修改后的代碼如下:
delete_object_list = [DeleteObject("20250626/20250626025656.xlsx")]
errors = self.minio.remove_objects(self.bucket, delete_object_list)
for err in errors:logger.error(f"error occurred when deleting object, {err.object_name}: {err.message}")
搜了一下才知道,原來它的批量刪除是懶惰執行
,必須迭代errors才會觸發刪除操作。
好大的坑……