#!/usr/bin/python3 import os,sys,re import csv,boto3 import logging BUCKET = 'orchard-transfers' SUBDIR = 'catalog-deliveries' out = csv.writer(sys.stdout,quoting=csv.QUOTE_NONNUMERIC) logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', datefmt='[%F %I:%M:%S]', level=logging.INFO) ''' Get a bucket object to use for list,get,create ''' session = boto3.session.Session(profile_name='orch-transfer') s3 = session.resource('s3') bucket = s3.Bucket(BUCKET) logging.info("Reading S3 directory {}".format(SUBDIR)) for awsFile in bucket.objects.filter(Prefix=SUBDIR): # client directory under catalog-deliveries s3ParentDir = os.path.dirname(awsFile.key) # just grab the XML files if not re.match(r".*\.xml$", awsFile.key): continue out.writerow([awsFile.key,awsFile.size,awsFile.e_tag.strip('"'),s3ParentDir])