Я пытаюсь перечислить все файлы в подпапке на s3
с определенным шаблоном в имени. Ниже будут перечислены все файлы в подпапке, но я хочу только перечислить файлы с определенным шаблоном в имени.
session = boto3.Session(aws_access_key_id = 'aws_access_key_id',
aws_secret_access_key = 'aws_secret_access_key')
s3 = session.resource('s3')
bucket = s3.Bucket('bucket-name')
prefix = 'subfolder'
pattern = 'pattern-in-file-name'
for bucket_object in bucket.objects.filter(Prefix = prefix):
print('{0}:{1}'.format(bucket.name, bucket_object.key))
Шаблон может иметь префикс с несколькими параметрами. Например, вот список файлов в s3:
bucket-name/subfolder/x_pattern-in-file-name.csv
bucket-name/subfolder/x_not-wanted-file.csv
bucket-name/subfolder/y_pattern-in-file-name.csv
bucket-name/subfolder/y_not-wanted-file.csv
, и я хочу прочитать только ниже:
bucket-name/subfolder/x_pattern-in-file-name.csv
bucket-name/subfolder/y_pattern-in-file-name.csv
Я полагал, что какой-то тип группового символа будет работать (bucket-name/subfolder/*_pattern-in-file-name
) для префикса, но мне не повезло.