Python 3.x 如何加速s3 bucket对象过滤器

Python 3.x 如何加速s3 bucket对象过滤器,python-3.x,amazon-web-services,amazon-s3,boto3,Python 3.x,Amazon Web Services,Amazon S3,Boto3,我正在使用下面的python代码来过滤所需的前缀和模式,但是由于bucket中的文件量太大,显示结果花费的时间太长,而且web服务器正在超时,我有任何方法可以加快这个过程 my_list = [] my_bucket = s3.Bucket(bucket) for line in my_bucket.objects.filter(Prefix=path): if re.search(SourceFilePattern, line.key): my_list.appe

我正在使用下面的python代码来过滤所需的前缀和模式,但是由于bucket中的文件量太大,显示结果花费的时间太长,而且web服务器正在超时,我有任何方法可以加快这个过程

my_list = []
my_bucket = s3.Bucket(bucket)
for line in my_bucket.objects.filter(Prefix=path):
     if re.search(SourceFilePattern, line.key):
          my_list.append(line.key)
您可以使用定期使用对象元数据创建类似CSV的静态文件,然后对其运行代码。它将比等待每次呼叫的网络I/O更快


如果您想实时处理它并从Web服务器给出响应,我宁愿事先填充某种DynamoDB表并从Web服务器进程查询它。您可以对S3 Put事件做出反应,并触发lambda,如果文件符合条件,lambda将把数据放入DynamoDB。

bucket中以及该前缀中有多少个对象?您是否尝试过使用
客户端
方法而不是
资源
方法来查看它是否更快?嗨,John,bucket中大约有485319个对象,搜索大约需要5分钟,这个数字将逐渐增加,据我所知,当我们知道确切的文件名时,客户机主要被使用,但这里我们使用的是模式