首页 > 解决方案 > 如何使用 Spring Cloud AWS 从 S3 中删除文件?

问题描述

我在 Spring AWS Cloud 中找不到任何 API 或文档来从 S3 存储桶中删除对象。有人可以让我知道该怎么做吗?

文档仅讨论使用ResourceLoader.

我现在看到的唯一选择是显式注入AmazonS3和调用deleteObject.

标签: springspring-bootamazon-s3spring-cloudspring-cloud-aws

解决方案


Spring 的 Resource API 不支持操作的完整生命周期。两个主要接口是ResourceWritableResource。没有用于删除的 API。

作为替代方案,您可以改用Spring Content for S3。Spring Content Stores 都是通用ResourceLoader的,它们返回Resource支持删除的 s。顺便说一句,这完全符合您的建议。

看看参考指南。基本Store接口应该是 Spring Cloud AWS 的直接插入接口。

只需将 return fromgetResource转换为 toDeletableResource并调用它delete即可删除 S3 中的对象。

如果不清楚,请告诉我,我可以更新更多细节。


推荐阅读