diff --git a/aws-lambda/lambda_function.py b/aws-lambda/lambda_function.py index 7df64fa..dab3e0c 100644 --- a/aws-lambda/lambda_function.py +++ b/aws-lambda/lambda_function.py @@ -8,17 +8,18 @@ print('Loading function') s3 = boto3.client('s3') + def handler(event, context): - # Get the object from the event + # Get the object from the event bucket = event['Records'][0]['s3']['bucket']['name'] - key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8') + key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8') # noqa size = event['Records'][0]['s3']['object']['size'] print("object="+key+" received with size="+str(size)) if size == 0: print("object="+key+" size=0, don't process !") return 0 - + filename = key.split('/')[-1] foldername = key.replace(filename, '') @@ -31,17 +32,26 @@ def handler(event, context): # TODO: read the metadata file from S3 metadata_file = open('/function/station_list.csv', 'r') - + nbufr_created = 0 - bufr_generator = transform_synop(body, metadata_file.read(), year_utc, month_utc) + bufr_generator = transform_synop( + body, + metadata_file.read(), + year_utc, + month_utc + ) for item in bufr_generator: if 'bufr4' in item and item['bufr4'] is not None: identifier = item['_meta']['id'] print('identifier='+identifier) - s3.put_object(Bucket='wis2box-public', Key=foldername+identifier+'.bufr4', Body=item['bufr4']) + s3.put_object( + Bucket='wis2box-public', + Key=foldername+identifier+'.bufr4', + Body=item['bufr4'] + ) nbufr_created += 1 else: print('No BUFR message created for '+item['_meta']['id']) print('Created '+str(nbufr_created)+' BUFR messages') - return 0 \ No newline at end of file + return 0