in scripts/extract-bus-data.py [0:0]
def s3_bucket_keys(s3_client, bucket, prefix, suffix=None):
"""Generator for listing S3 bucket keys matching prefix and suffix"""
kwargs = {'Bucket': bucket, 'Prefix': prefix}
while True:
resp = s3_client.list_objects_v2(**kwargs)
for obj in resp['Contents']:
key = obj['Key']
if not suffix or key.endswith(suffix):
yield key
try:
kwargs['ContinuationToken'] = resp['NextContinuationToken']
except KeyError:
break