【发布时间】:2023-03-13 15:17:01
【问题描述】:
我的目的是在我的 S3 服务器上存储一个大图像,然后获取一个 lambda 函数来读取/处理文件并保存结果输出。我正在使用一个名为 python-bioformats 的包来处理专有图像文件(基本上是一堆堆在一起的 tiff)。当我使用
def lambda_handler(event, context):
import boto3
key = event['Records'][0]['s3']['object']['key'].encode("utf-8")
bucket = 'bucketname'
s3 = boto3.resource('s3')
imageobj = s3.Object(bucket, key).get()['Body'].read()
bioformats.get_omexml_metadata(imageobj)
我感觉 lambda 函数在制作 imageobj 时会尝试下载整个文件(5GB)。有没有办法让第二个函数(它以文件路径作为参数)以类似文件路径的方式引用 s3 对象?我也不想公开暴露 s3 存储桶/对象,所以在服务器端做这个是理想的。
【问题讨论】:
标签: python amazon-web-services amazon-s3 aws-lambda