【问题标题】:How to handle sessions in django app when deployed in aws lambda在 aws lambda 中部署时如何处理 django 应用程序中的会话
【发布时间】:2018-12-12 05:54:00
【问题描述】:

我想使用 Zappa 在 aws 中部署 Django 应用程序。在我的本地服务器会话中工作正常。是否可以在 aws 中处理相同的会话?如果没有,有什么方法可以在 aws(Zappa) 中处理会话?

-TIA

【问题讨论】:

  • 您为在无服务器应用程序中管理会话编写了哪些代码?
  • 我在 django 应用程序中使用过类似 request.session['variable']=1080 的会话。在 aws 中部署时,我无法访问此会话变量。我没有专门为 aws 中的会话使用任何东西。
  • 理想情况下,会话不应在无服务器应用程序中使用,因为它们是缩短的且无状态的。我不确定如何让它在本地工作,但在 AWS Lambda 上它肯定不会工作。
  • 通常 DynamoDB 是存储由 Lambda 函数获取/创建的会话数据的首选,也许可以尝试查看:docs.aws.amazon.com/amazondynamodb/latest/developerguide/…

标签: django amazon-web-services zappa


【解决方案1】:

Django 固有的大多数会话功能都可以在 zappa 部署的项目中正常工作。

  • Database-backed 会话工作正常,没有任何变化
  • Cache-backed 会话工作正常,没有任何变化
  • File-backed 会话将工作,因为无法保证会话文件将存在于处理用户请求的 lambda 容器中
  • Cookie-backed 会话无需更改即可正常工作

确保根据文档提供所需的基础架构。 例如,如果您选择数据库支持的会话,那么您的 Django 部署必须有权访问数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    相关资源
    最近更新 更多