如何删除所有"孩子"我桶里的物品?

时间:2015-12-23 20:27:45

标签: .net amazon-web-services amazon-s3 aws-sdk

假设S3上的存储桶中存在以下文件

mybucket/folder1/folder2/myfile.txt
mybucket/folder1/folder2/myfile2.txt
mybucket/folder1/folder4/myfile3.txt

我想要做的是删除mybucket/folder1/folder2/下的所有文件,而不是确切地知道那里有哪些文件。我知道文件夹不是真实的,实际上是对象键,但我仍然需要达到这个效果。

我尝试删除mybucket/folder1/folder2/(有和没有斜杠),但似乎没有发生任何事情;什么都没有删除。没有错误,HttpResponse是204。

1 个答案:

答案 0 :(得分:3)

我有一段时间没有触及AmazonS3服务,但这是你应该做的:

  1. list all object keys在您想要的路径中
  2. 每个密钥
  3. issue a delete action 获取所有密钥和delete them in one go
  4. 在代码中它应该类似于(建议的示例的粗略汇编):

    DateTime?

    您还可以通过looking at this article找到一种方法来收听文件夹中的所有键。

    已修改:添加了一个操作调用,以使用DeleteObjectsRequest对象删除所有密钥。