Ryan
Ryan

Reputation: 29

boto3 python - list objects

While trying to list objects with a prefix, the return is only fetching only 1 object in my Lambda. Not sure what is missing.

import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
    try:  
        ## Bucket to use
        bucket = s3.Bucket(mybucket)
        ## List objects within a given prefix
        for obj in bucket.objects.filter(Prefix='output/group1'):
            print(obj.key)
   

Upvotes: 0

Views: 1445

Answers (1)

gbeaven
gbeaven

Reputation: 1790

It's hard to know what the exact problem is when we can't see a valid function or any returned errors. This code works without issue for me:

import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
    bucket = s3.Bucket('your-bucket-name')
    for obj in bucket.objects.filter(Prefix='output/group1'):
        print(obj.key)
lambda_handler('event','context')

Make sure 'output/group1' actually has more than 1 file in it to return.

Upvotes: 1

Related Questions