25 lines
787 B
Python
25 lines
787 B
Python
from __future__ import print_function
|
|
import boto3
|
|
import os
|
|
import sys
|
|
import uuid
|
|
from PIL import Image
|
|
import PIL.Image
|
|
|
|
s3_client = boto3.client('s3')
|
|
|
|
def resize_image(image_path, resized_path):
|
|
with Image.open(image_path) as image:
|
|
image.thumbnail(tuple(x / 2 for x in image.size))
|
|
image.save(resized_path)
|
|
|
|
def handler(event, context):
|
|
for record in event['Records']:
|
|
bucket = record['s3']['bucket']['name']
|
|
key = record['s3']['object']['key']
|
|
download_path='/tmp/{}{}'.format(uuid.uuid4(), key)
|
|
upload_path='/tmp/resized-{}'.format(key)
|
|
|
|
s3_client.download_file(bucket, key, download_path)
|
|
resize_image(download_path, upload_path)
|
|
s3_client.upload_file(upload_path, '{}resized'.format(bucket), key)
|