首页 > 解决方案 > 使用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')    

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

标签: pythonamazon-web-servicesamazon-s3

解决方案


不要忘记可能有多个文件与该通配符匹配。

你会使用类似的东西:

import boto3

s3 = boto3.resource('s3', region_name='ap-southeast-2')

bucket = s3.Bucket('my-bucket')

objects = bucket.objects.filter(Prefix='folder-name/')

for object in objects:
  if object.key.endswith('.txt'):
    object.download_file('/tmp/' + object.key)

推荐阅读