amazon-web-services - 连接 S3 - Lambda - EC2 - Elasticsearch
问题描述
在我的项目中,用户将图像上传到 S3 存储桶中。我创建了一个张量流 resnet 模型来解释图像的内容。基于张量流解释,数据将存储在弹性搜索实例中。
为此,我创建了一个 S3 Bucket、一个在加载图像时触发的 lambda 函数和 AWS elasticsearch 实例。由于我的 tf 模型很大,我将它们压缩并放入 S3 存储桶并将 s3 url 上传到 lambda。
问题:由于我的解压缩文件大于 266 mb,我无法完成 lambda 函数。
替代方法:而不是 S3 Bucket - 我正在考虑创建一个 ec2 实例 - 具有更大的卷大小来存储图像并将图像直接接收到 ec2 实例而不是 s3 中。但是,由于我将在一年内收到数百万张图片,我不确定这是否可以扩展。
解决方案
我可以在这里想到两种方法:
您侧加载应用程序。lambda 可以是一个小的引导脚本,它从 s3 下载您的应用程序并解压缩它。这是无服务器框架中的一种流行模式。您在 lambda 冷启动期间为此付费,因此您需要在生产环境中保持温暖。
您可以将图像存储在 s3 本身中,并使用目标 SQS 在图像上传时创建事件。然后,您可以使用 ec2 定期提取新消息的 sqs 消息并使用您的 tf 模型处理它们。
推荐阅读
- laravel - laravel 将 html 选择下拉菜单“选择”在两个数据处
- node.js - 如何从环回 3 中手动创建的路由和控制器添加 API 文档?
- ruby-on-rails - 具有 x-amz-server-side-encryption 策略的 aws s3 存储桶中的问题不允许 rails5 上传图像但允许在 rails4 中
- amazon-web-services - 带有 .NET 的 AWS - 从 CloudWatch 读取日志 - 没有返回日志数据
- ubuntu-18.04 - 安装提供 ACPI 分区固件的 Ubuntu 的问题是错误
- exchangewebservices - makeEwsRequestAsync 是否在混合模式下工作?
- angular - 以角度在 HTTP 正文中声明和分配数组
- javascript - 当用户单击输入时如何聚焦输入?
- c# - 面板内 Glcontrol 顶部的一个图片框
- django - 模型尚未加载