猿问

使用python获取带有前缀的s3文件

我的 s3 文件名是“文件夹/文件名.xml”。我想以'name.xml'结尾的文件


import boto3

s3 = boto3.resource('s3')

try:

fileobj = s3.Object('lcu-matillion',''folder/.*name.xml'').get()['Body']


data=fileobj.read()

except Exception:

  print('not found')    

任何人请帮忙提供准确的代码?谢谢


大话西游666
浏览 286回答 2
2回答

精慕HU

这是一个非常旧的答案,我很遗憾已被接受的主要答案是一个非常糟糕且具有潜在危险的答案。这基本上列出了所有对象并将搜索带到客户端。在一个包含数千个对象(我猜大多数桶)的桶上,这太糟糕了。您需要做的是使用.filter()而不是.all():s3 = boto3.resource('s3')buc = s3.Bucket("twtalyser")for s in buc.objects.filter(Prefix='my/desired/prefix'):    print(s)
随时随地看视频慕课网APP

相关分类

Python
我要回答