首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在删除S3上不同文件夹中的所有同名文件

正在删除S3上不同文件夹中的所有同名文件
EN

Stack Overflow用户
提问于 2018-12-05 19:14:40
回答 2查看 299关注 0票数 0

我正在使用aws-sdk-ruby gem。使用S3,CloudFront和Lambda。

在S3中,我上传了一个文件到根目录,例如。tshirt1.jpg。当我的Lambda函数运行时,它会创建不同大小的文件,并将它们放入如下结构中:

代码语言:javascript
复制
100x100/ 
  --> webp/tshirt1.jpg
  --> jpg/tshirt1.jpg
500x500
  -->webp/tshirt1.jpg
  -->jpg/tshirt1.jpg
tshirt1.jpg

其中100x100是新的图像大小,下一个文件夹是类型。

我知道我想要删除的文件名,但是,有没有一种方法可以找到任何文件夹中具有该名称的存储桶中的所有文件并将其删除。

代码语言:javascript
复制
def delete_resource
  s3 = Aws::S3::Resource.new
  bucket = s3.bucket(settings.aws.bucket)
  bucket.delete_objects({
    delete:{
     objects: [
      {key: 'tshirt1.jpg'}
     ]
    }
   })
end

如果可能的话,我想做点什么,比如{key: '*/*/tshirt1.jpg'}

这是可能的,还是我必须传入所有可能的文件夹路径?

EN

回答 2

Stack Overflow用户

发布于 2018-12-05 19:38:29

@Greyhounddad S3不维护文件层次结构,它将所有内容都视为对象,然而,获取对象的唯一方法是通过其密钥,

如果您想要自动化删除其他目录上的文件的过程,请尝试使用aws lambda,您可以执行lambda函数从您的存储桶中删除文件,lambda将从其他存储桶或您的case目录中删除具有相同名称的其他文件。

如果有帮助,请告诉我

票数 0
EN

Stack Overflow用户

发布于 2018-12-06 00:29:04

没有内置的功能可以做到这一点。

您需要编写一个专门执行此操作的程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53631016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档