【问题标题】:How to delete file from S3 using Spring cloud AWS?如何使用 Spring Cloud AWS 从 S3 中删除文件?
【发布时间】:2018-12-20 14:13:10
【问题描述】:
我在 Spring AWS Cloud 中找不到任何 API 或文档来从 S3 存储桶中删除对象。有人可以告诉我怎么做吗?
documentation 只是谈论使用ResourceLoader 阅读内容。
我现在看到的唯一选择是显式注入AmazonS3 并调用deleteObject。
【问题讨论】:
标签:
spring
spring-boot
amazon-s3
spring-cloud
spring-cloud-aws
【解决方案1】:
Spring 的资源 API 不支持操作的完整生命周期。两个主要接口是Resource和WritableResource。没有用于删除的 API。
作为替代方案,您可以使用Spring Content 代替S3。 Spring Content Stores 都是通用的ResourceLoaders,返回支持删除的Resources。顺便说一句,这完全符合您的建议。
查看参考指南。基本的 Store 接口应该是 Spring Cloud AWS 的直接插入接口。
只需将返回从getResource 转换为DeletableResource 并调用它为delete 以删除S3 中的对象。
如果不清楚,请告诉我,我可以更新更多细节。