spring - 如何使用 Spring Cloud AWS 从 S3 删除文件?

标签 spring spring-boot amazon-s3 spring-cloud spring-cloud-aws

我在 Spring AWS Cloud 中找不到任何用于从 S3 存储桶中删除对象的 API 或文档。有人可以告诉我该怎么做吗?

documentation只是谈论使用 ResourceLoader 读取内容。

目前我看到的唯一选择是显式注入(inject) AmazonS3 并调用 deleteObject

最佳答案

Spring 的资源 API 不支持操作的完整生命周期。两个主要接口(interface)是ResourceWritableResource。没有删除API。

作为替代方案,您可以使用 Spring Content对于 S3反而。 Spring Content Stores 都是通用的ResourceLoader,它们返回支持删除的Resource。顺便说一下,这完全按照你的建议工作。

查看引用指南。基本 Store 接口(interface)应该是 Spring Cloud AWS 接口(interface)的直接插入接口(interface)。

只需将 getResource 的返回值转换为 DeletableResource 并调用它的 delete 即可删除 S3 中的对象。

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

关于spring - 如何使用 Spring Cloud AWS 从 S3 删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51304075/

相关文章:

java - 启用 Spring 的 JAX-WS Web 服务如何获取客户端 ip

java - Hibernate HQL 带有 Likes 的意外标记

spring - 如何使用 JmsTemplate 进行手动确认并从 Rabbitmq 队列中删除消息

amazon-web-services - 使用 Cloudformation 创建触发器来启动 lambda 函数,并验证当我在 S3 存储桶中上传文件时哪个区域可用

amazon-s3 - 如何按计划运行 Athena 查询并将结果集发送到电子邮件

java - 加载父级时急切地获取子级

java - SpringMVC : populating values of a dropdown of a department object injected inside Employee object

spring-boot - Spring Boot 1.5 到 2 迁移 - Flyway 迁移校验和不匹配

java - Helm Chart Spring Boot 应用程序启动后立即关闭

python - 导入错误 : No module named custom storages - django-storages boto