在Lambda函数上传文件的时候,需要注意限制上传文件大小。如果上传文件超出了限制,将会抛出“Upload too large”异常。可以通过修改Lambda函数配置或者通过代码控制上传文件大小来解决该问题。
以下是通过代码控制上传文件大小的示例:
import os
import boto3
def lambda_handler(event, context):
s3 = boto3.resource('s3')
bucket_name = 'my-bucket'
key_name = 'my-key'
file_size = os.stat('/tmp/my-file').st_size
if file_size <= 1048576:
s3.meta.client.upload_file('/tmp/my-file', bucket_name, key_name)
else:
raise Exception('File size exceeds the limit')
在上面的示例中,我们使用了Python的os模块来获取上传文件的大小,然后通过代码来限制文件大小不超过1048576字节(即1MB)。如果上传文件大小超出了限制,将会抛出异常。