如何使用AWS CLI删除S3存储桶中的多个文件

问题描述:

假设我有一个名为x.y.z

在这个存储桶中,我有数百个文件.但我只想删除2个名为purple.gifworksheet.xlsx

In this bucket, I have hundreds of files. But I only want to delete 2 files named purple.gif and worksheet.xlsx

我可以通过一次调用rm的AWS命令行工具来执行此操作吗?

Can I do this from the AWS command line tool with a single call to rm?

这不起作用:

$ aws s3 rm s3://x.y.z/worksheet.xlsx s3://x.y.z/purple.gif
Unknown options: s3://x.y.z/purple.gif

手册 ,似乎您无法按名称明确删除文件列表.有人知道这样做的方法吗?我更喜欢不使用--recursive标志.

s3 rm无法删除多个文件,但可以使用

s3 rm cannot delete multiple files, but you can use s3api delete-objects to achieve what you want here.

示例

aws s3api delete-objects --bucket x.y.z --delete '{"Objects":[{"Key":"worksheet.xlsx"},{"Key":"purple.gif"}]}'