0

我想使用 AWS Lambda (Python) 进行图像 (svs) 预处理(创建图块等)。不幸的是,图像大约 1 GB,不适合 /tmp (512MB)。因此,我希望通过以下方式将图像直接加载到 RAM 中:

s3_response_object = s3_client.get_object(Bucket=bucket, Key=key)
object_content = s3_response_object['Body'].read()
inmemoryfile = io.BytesIO(object_content)
Image.open(inmemoryfile)

或直接将图片下载到 ramfs 或类似的东西:

from memory_tempfile import MemoryTempfile 
import memory_tempfile

在 svs 文件中也只需要 10 级中的 1 级。因此,如果有一种方法只能从 s3 存储桶中读取文件中的特定信息,那就太好了。

谢谢

4

1 回答 1

0

我推荐 s3fs https://github.com/dask/s3fs

import s3fs
fs = s3fs.S3FileSystem()

# You don't need "s3://" in your path if you don't want it
with fs.open('s3://file/path') as fh:
    do_stuff(fh)
于 2019-12-05T16:01:08.570 回答