如何使用 shell 脚本列出 s3 存储桶中具有特定字符的所有对象
how to list all objects in s3 bucket having having specific character in the key using shell script
我有一个 s3 存储桶,下面是目录结构。
bucketname/uid=/year=/month=/day=/files.parquet
在某些情况下,在 year 目录中我有一些由 athena.Ex:
创建的临时对象
month=11_$folder$
我想删除所有这些 key = month=11_$folder$
.
的文件
目前我正在循环处理所有 uid。有没有更快的方法来做到这一点?
使用 aws cli list-objects-v2
您可以搜索模式
aws s3api list-objects-v2 \
--bucket my-bucket \
--query 'Contents[?contains(Key, `month=11_$folder$`)]'
请注意,这仍然会查询 所有 您的对象,并且只会过滤返回的内容,因此如果您的存储桶中有超过 1,000 个对象,您将需要 paginate
我有一个 s3 存储桶,下面是目录结构。
bucketname/uid=/year=/month=/day=/files.parquet
在某些情况下,在 year 目录中我有一些由 athena.Ex:
创建的临时对象month=11_$folder$
我想删除所有这些 key = month=11_$folder$
.
目前我正在循环处理所有 uid。有没有更快的方法来做到这一点?
使用 aws cli list-objects-v2
您可以搜索模式
aws s3api list-objects-v2 \
--bucket my-bucket \
--query 'Contents[?contains(Key, `month=11_$folder$`)]'
请注意,这仍然会查询 所有 您的对象,并且只会过滤返回的内容,因此如果您的存储桶中有超过 1,000 个对象,您将需要 paginate