Обработка исключений для выборки S3 с помощью boto3 - PullRequest
0 голосов
/ 25 июня 2019

Я делаю что-то вроде ниже, чтобы получить все файлы в моем контейнере s3.

 for obj in bucket.objects.filter(Delimiter='/', Prefix='uploads/{}/'.format(name)):  # to get data from subfolder dir
            if obj.key.endswith(('.xlsx', '.csv')):
                paths.append(obj.key)

Мне нужно разобраться со случаем, когда внутри папки либо нет файлов, либо сама папка (uploads/{}/) не существует.Как мне справиться с этим.

1 Ответ

0 голосов
/ 25 июня 2019

Вы можете попробовать что-то вроде:

s3 = boto3.resource('s3')
try:
    for obj in bucket.objects.filter(Delimiter='/',
                                     Prefix='uploads/{}/'.format(name)):  # to get data from subfolder dir
        if obj.key.endswith(('.xlsx', '.csv')):
            paths.append(obj.key)
except s3.meta.client.exceptions.NoSuchKey:
    print("no such key in bucket")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...