繁体   English   中英

Python 如何从 s3 下载文件然后重新使用

[英]Python how to download a file from s3 and then reuse

如何从 s3 下载文件然后重复使用而不是每次调用端点时都继续下载?

    @app.route("/get", methods=['GET'])
    def get():
        s3 = boto3.resource('s3')
        ids = pickle.loads(s3.Bucket('bucket').Object('file').get()['Body'].read())
        ...

根据评论。

由于文件很大 (16GB) 并且需要经常读取和更新,因此可以使用EFS 文件系统而不是 S3 来存储它们:

Amazon Elastic File System (Amazon EFS) 提供了一个简单、无服务器、一劳永逸的弹性文件系统,用于 AWS 云服务和本地资源。

EFS 提供 NFS 文件系统,您可以将其挂载到您的实例,甚至可以同时挂载到多个实例。 您还可以将相同的文件系统挂载到 ECS 容器和 lambda 函数。

由于 EFS 提供常规文件系统,您可以直接在其中写入和读取文件 不需要像在 S3 中那样先复制它,它是 object 存储(不是文件系统)。

值得指出的是, EFS 的便利性比使用 S3 的成本更高。 但是,现在您可以通过使用刚刚发布的Amazon EFS One Zone 存储 class来降低使用 EFS 的成本(如果这是一个问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM