从Elastic Beanstalk应用程序公开由lambda函数创建的文件

时间:2016-04-26 14:20:43

标签: amazon-web-services aws-sdk aws-lambda

我有一个小应用程序,可以从很多URL(基于Cron作业)构建站点地图文件。我还有一个运行Web应用程序的Elastic Beanstalk应用程序。

我想让它们分开运行,但我希望网络应用程序公开创建的站点地图。

我正在考虑使用lambda函数来创建站点地图,但我看不到我的Elastic Beanstalk Web应用程序如何在文件完成后获取文件,所以我不确定是否有好的方法;至少,我错过了一块建筑。

您对此解决方案有何看法?您将如何在AWS环境中管理它?

2 个答案:

答案 0 :(得分:2)

你缺少的是S3。让Lambda在创建文件时将文件复制到S3。然后,您可以直接从S3提供它们,或让您的Beanstalk应用程序从S3加载它们。

答案 1 :(得分:1)

执行此操作的一种方法如下:

  • 使用scheduled event创建包含Lambda的站点地图。
  • 让Lambda将这些站点地图上传到S3
  • 让Lambda将包含站点地图位置的邮件推送到SQS队列

然后,您的Elastic Beanstalk应用程序可以处理消息,例如能够直接从S3公开您的站点地图。