【问题标题】:How can I make files on s3 bucket mounted to aws ec2 instance using goofys available to aws lambda function?如何使用可用于 aws lambda 函数的 goofys 将 s3 存储桶上的文件安装到 aws ec2 实例?
【发布时间】:2020-04-20 06:07:55
【问题描述】:

我已经使用 Goofys(有点类似于 s3fs)将公共 s3 存储桶安装到 aws ec2 实例,这将使我能够访问我的 ec2 实例上的 s3 存储桶中的文件,就好像它们是本地路径一样。我想在我的 aws lambda 函数中使用这些文件,将这些本地路径传递给 python 中的 aws lambda 中的 event 参数。鉴于 AWS lambda 的存储限制为 512 MB,有没有办法可以让 aws lambda 访问我的 ec2 实例上的文件?

AWS lambda 真的很适合我的目的(我正在尝试计算 2 个文件之间的统计相关性,这需要 1-1.5 秒),所以如果有人知道一种方法来完成这项工作,那就太好了。

感谢您的帮助。

编辑:

在我的 AWS lambda 函数中,我使用了 python 库 pyranges,它需要文件的本地路径。

【问题讨论】:

  • 这些类型的“挂载” S3 的工具实际上只是在进行与您的应用程序本身相同的 API 调用。例如,列出存储桶并下载文件。使用挂载工具的唯一好处是它可以与需要传统本地文件系统的软件一起使用。如果您正在编写自己的代码(例如 AWS Lambda 函数),那么最好直接调用 Amazon S3 API。

标签: python-3.x amazon-ec2 aws-lambda goofys


【解决方案1】:

在我的 AWS lambda 函数中,我使用了 python 库 pyranges,它需要文件的本地路径。

你有几个选择:

  • 让您的 Lambda 函数首先使用 boto3 将文件本地下载到 /tmp 文件夹,然后再调用 pyranges。
  • 可能使用 S3Fs 模拟 S3 对象的文件句柄。

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 2021-12-30
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多