经过调查,我发现了以下问题:
我的设置:
构建步骤:
到目前为止一切顺利。一切顺利,直到我开始使用MatBottomSheet。 当我在我的组件中注入此服务时,似乎并不特别。
在当地没有问题,为发展服务(工作)。创建一个生产版本并在本地托管它也有效。
将它部署到lambda时发生了奇怪的事情。部署似乎没问题。但是当我通过AWS Gateway调用lambda方法时 - >访问该应用程序。 我收到了内部服务器错误。
在lambda日志中,我看到我有一个超时。 (我试图将超时时间更改为10秒,因此设置为短时间不是问题)。通常需要70ms来渲染整个网站,但很好。
看起来有一个无限循环/死锁或循环调用等等。无论在材料代码中,什么是无服务器为lambda打包。
花了我几个小时才找到实际问题所在。 BEC。 cloudwatch和所有其他AWS日志都很合适。你得到暂停时保持沉默。当我从我的应用程序中删除MatBottomSheet时,一切都有效。
仅供参考:我不必直接使用MatBottomSheet。在组件中注入它就足够了。在不注入服务的情况下导入模块也很有效。
我已尝试过的内容:
通常我的lambda服务器代码使用expressjs,它包含在aws-express中.. 所以我改编了expressjs代码 - >只是为了返回静态文件,而不渲染任何东西。 - >结果没有改变,我有一个超时。
我尝试了下一件事:在本地调用lambda方法(使用无服务器) 一切都按预期工作。
我在本地使用了相同的Nodejs版本(8.10),这与AWS Lambda使用的版本相同。 - >超时错误...
如果有人知道如何解决这个问题,那真的很棒。
我的解决方法:使用没有SSR的lambda,或者不使用lambda ...
感谢
答案 0 :(得分:2)
我解决了问题并希望分享我的结果。希望没有人会再遇到这个问题了。
整天调试一些捆绑代码。 问题是:我的lambda函数需要更少的内存
我为lambda函数使用了128Mb内存。即使我将超时时间增加到60秒,这里也很奇怪。我仍然有超时错误。
将内存增加到192Mb后,方法在1.5秒内完成。
希望亚马逊能够改善他们的错误输出。似乎我的lambda函数从未完成,在内存不足时运行,导致超时