阿里云OSS中删除目录需要的权限有哪些
所需权限
| 权限 Action | 说明 |
|---|---|
oss:DeleteObject |
删除单个文件/目录的权限 |
oss:DeleteMultipleObjects |
批量删除多个文件的权限(推荐) |
oss:ListObjects |
列举目录下文件的权限(删除前需先列出目录内容) |
重要说明
OSS 没有真正的”目录”概念,目录是通过 Object Key 的前缀模拟的。因此删除目录的本质是:
- 先列举该目录(前缀)下的所有 Object
- 逐个或批量删除这些 Object
- 最后删除目录占位符(如果有)
RAM Policy示例
允许删除指定目录及其内容的自定义策略:
1 | { |
删除方式
方式一:通过控制台
直接勾选目录 → 点击删除,系统会自动删除目录下所有文件。
方式二:通过 ossutil 命令行
1 | # 删除目录及目录下所有文件 |
方式三:通过 SDK
需先 List 出目录下所有 Object,再调用 DeleteObject 或 DeleteMultipleObjects 批量删除。每次最多删除 1000 个文件。
注意事项
- ⚠️ 文件删除后无法恢复(除非开启了版本控制)
- 如果 Bucket 开启了版本控制,删除操作会生成删除标记(Delete Marker),原文件以历史版本形式保留
- 删除非空目录时,必须将目录下所有文件删除后才能删除该目录