Коллекция высокого уровня s3.buckets.filter (Filters = somefilter) работает только для способов, которые документируют в разделе описания_текстов Filter (список). В таком случае, вы должны пометить ведро (s3.BucketTagging), прежде чем вы можете использовать очень специфический метод фильтрации s3.buckets.filter (Filters = formatted_tag_filter) (http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Client)
ИМХО, мечения является обязательным, если вы планируете для управления любым ресурсом внутри AWS.
В настоящее время, вы можете сделать это
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
if bucket.name.startswith("myapp-")"
print bucket.name
И Ниже приведен пример кода с учетом отфильтровывать КЛЮЧИ (не ведро) (http://boto3.readthedocs.org/en/latest/guide/collections.html)
# S3 list all keys with the prefix '/photos'
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
if bucket.name.startswith("myapp-")" :
for obj in bucket.objects.filter(Prefix='/photos'):
print('{0}:{1}'.format(bucket.name, obj.key))
И Существует предупреждение отмечает, используя выше пример:
Предупреждение: За кулисами в приведенном выше примере много раз будут вызываться ListBuckets, ListObjects и HeadObject. Если у вас есть большое количество объектов S3, это может повлечь значительные затраты.
Я просто добавить код, который дело с приставкой листингом ведра в моем ответе :-D – mootmoot
Если проверить каждый boto3 ec2.describe_ * функция, вы заметите, что единственный универсальный формат фильтр является тегом. – mootmoot