程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时?

开发过程中遇到尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时的问题如何解决?下面主要结合日常开发的经验,给出你关于尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时的解决方法建议,希望对你解决尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时有所启发或帮助;

我有一个 Django 应用设置,可以使用 django-allauth 连接到 Twitter。流程都在本地运行,我在 Lambda 上按照相同的设置步骤添加了我的令牌、站点等。

当我尝试访问登录 URL (/accounts/twitter/login/) 时,请求最终超时,并显示来自 AWS Lambda 的此消息:

{"message": "Endpoint request timed out"}

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

[1619019159940] [DEBUG] 2021-04-21T15:32:39.939Z 7f66a0e3-58de-4612-82c0-54590d69676f StarTing new httpS connection (1): API.twitter.com:443

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

了解这些平台的人是否知道瓶颈可能在哪里以及问题可能在哪里?或者有任何有针对性的问题可以帮助调试?

我已经检查并(暂时)排除的事情:

  • 数据库后端是 AWS aurora Serverless,我确实担心双无服务器设置可能会导致速度缓慢。但是,对 Django 管理命令的简单调用(zappa manage dev migrate 返回所需的时间不到一秒钟,所以我暂时排除了这种情况。另外,管理仪表板加载正常,它也在访问数据库。
  • 我已将开发 URL 和实时 URL 作为有效的 OAuth 回调 URL 添加到 Twitter 的仪表板中。

解决方法

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

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

“要授予对您的函数的 Internet 访问权限,其关联的 VPC 必须在公共子网中具有 NAT 网关(或 NAT 实例)。”

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

这是按小时计费的额外费用,因此可能会失去使用无服务器的意义(如果您使用它是为了小额费用和简单性,而不是像我一样的规模)。

大佬总结

以上是大佬教程为你收集整理的尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时全部内容,希望文章能够帮你解决尝试 OAuth 到 Twitter 时,无服务器 Django 应用程序(通过 Zappa 的 AWS Lambda)超时所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。