【发布时间】:2020-09-02 09:29:59
【问题描述】:
所以我有一个网络应用程序,将图像存储在单个存储桶中,遵循这个原则(具有用户 ID 名称的文件夹,具有用户 ID 名称的图片 + 尊重的用户 ID 文件夹中的一些随机字符)。
现在我已经实现了一个 python 脚本,它从单个存储桶(根文件夹或我指定的任何文件夹)获取上传的图像并将其输出到我指定的另一个存储桶/文件夹。我只是想知道是否可以根据我的情况实时执行此操作(我什至不需要将调整大小的图片导出到另一个存储桶,它们可以保留在原始上传到的同一文件夹中)。这是我现在正在使用的脚本的一部分。任何帮助表示赞赏。
s3_client = boto3.client('s3')
def resize_image(image_path, resized_path):
with Image.open(image_path) as image:
image.thumbnail((128, 128))
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 = '/{}{}'.format(uuid.uuid4(), key)
upload_path = '/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)
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-lambda