extract_image_zip.py
import boto3
import zipfile
import traceback
import os
print('Loading function')
s3 = boto3.resource('s3')
s3_client = boto3.client('s3')
def lambda_handler(event, context):
# Get the object from the event and show its content type
bucket = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
try:
s3_client.download_file(bucket, key, '/tmp/file.zip')
print('download')
zfile = zipfile.ZipFile('/tmp/file.zip')
namelist = zfile.namelist()
print(namelist)
for filename in namelist:
if not os.path.basename('/tmp/'+filename):
os.mkdir('/tmp/'+filename)
else:
f = open('/tmp/' + str(filename), 'wb')
data = zfile.read(filename)
f.write(data)
f.close()
for filename in namelist:
if '.jpg' in filename:
s3_client.upload_file('/tmp/'+filename, bucket, key + filename)
except Exception as e:
print(e)
print(traceback.format_exc())