in app/source/dragen/src/scheduler/aws_utils.py [0:0]
def _s3_upload_files_recursively(dir_path, bucket, obj_key, s3_client, transfer_client):
filenames = [fpath for dirpath in os.walk(dir_path) for fpath in
glob(os.path.join(dirpath[0], '*'))]
# upload a finite number of files for safety
filenames = filenames[:100]
tot_bytes = 0
# make sure there is a trailing '/' in obj_key to indicate it is 'root' and not actual keyname
if not obj_key.endswith('/'):
obj_key += '/'
for filename in filenames:
if os.path.isfile(filename):
size = _s3_upload_file(filename, bucket, obj_key, s3_client, transfer_client)
if size:
tot_bytes += size
return tot_bytes