首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Serverless Django应用程序(AWS Lambda to )在尝试OAuth到Twitter时超时

问Serverless Django应用程序(AWS Lambda to )在尝试OAuth到Twitter时超时
EN

Stack Overflow用户
提问于 2021-04-21 15:42:03
回答 1查看 503关注 0票数 1

我有一个Django应用程序安装程序使用django-allauth连接到Twitter。流都在本地工作,我在Lambda上遵循了相同的设置步骤,以添加令牌、站点等。

当我尝试访问登录url (/accounts/twitter/login/)时,这个请求最终通过AWS的消息超时:

代码语言:javascript
复制
{"message": "Endpoint request timed out"}

超时事件之前来自zappa tail的最后一条消息是:

代码语言:javascript
复制
[1619019159940] [DEBUG] 2021-04-21T15:32:39.939Z 7f66a0e3-58de-4612-82c0-54590d69676f Starting new HTTPS connection (1): api.twitter.com:443

我已经看到网关有30秒的超时时间,但我不认为应该花这么长时间。在当地,只需要几秒钟。

对这些平台有了解的人是否知道瓶颈可能在哪里,问题可能在哪里?或者有什么尖锐的问题来帮助调试?

我已经检查过的东西(暂时排除了):

  • 数据库后端是Aurora,我确实担心双服务器的设置可能会导致速度慢。但是,只需简单地调用Django管理命令(zappa manage dev migrate返回的时间不到一秒钟),我就排除了这一点。另外,Admin仪表板也加载了很好的内容,这也是访问DB.
  • 的地方--我已经将开发和动态URL作为有效的OAuth回调URL添加到Twitter的仪表板中。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-22 10:09:29

留下这个答案来帮助将来的搜索,尽管这不是我要走的路线。

感谢@Jens在评论中指出了VPC问题。您需要向Lambda添加NAT网关服务,以便将公共互联网访问添加到私有VPC。

“要授予您的功能internet访问权限,其相关的VPC必须在公共子网中具有NAT网关(或NAT实例)。

来源:https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/

这是一个每小时收费的额外费用,因此可能会避免使用无服务器(如果您使用它是为了小的费用和简单,而不是规模,像我一样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67199085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档