gpt4 book ai didi

python - 使用 boto3 过滤 s3 对象,以便调用者不过滤

转载 作者:行者123 更新时间:2023-12-03 08:20:57 27 4
gpt4 key购买 nike

我的 s3 存储桶有数千个文件。它们都在同一个“文件夹”中。所以 s3 前缀是相同的。我想使用 python boto3 获取包含某个单词的文件名列表。我不希望 boto3 调用发回所有文件名并让客户端过滤掉名称。我看到了使用“yield”和“.filter”的示例,但它们正在接收所有文件并使客户端做很多工作。

为了帮助更好地理解,如果我使用 AWS CLI:

aws --profile test s3api list-objects-v2 --bucket mybucket --prefix tmp/ --output json --query "Contents[?contains(Key, 'foobar')]"

但是我需要使用 boto3 发送请求,AWS 只需发送回带有“foobar”的文件名。

最佳答案

BUT I need to send a request using boto3 and AWS just send the filenames back with "foobar" in them

无法通过常规 boto3 s3 API 调用来执行此操作,因为这不是该 API 的工作方式。所以如果你不想先获取所有的名字,然后自己过滤掉,那么仅仅通过一个boto3请求是没有办法达到你想要的效果的。

唯一的帮助可能来自 Amazon S3 inventory 。因此,您可以请求库存、获取生成的 CSV 文件并对其进行过滤。但您仍然必须自己过滤它。

关于python - 使用 boto3 过滤 s3 对象,以便调用者不过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67846467/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com