Бессерверный веб-сайт AWS lambda (с использованием django) поддерживает сеанс

Я разработал сайт с помощью django. Недавно я пытаюсь сделать его бессерверным (путем развертывания на лямбда). Я не понял, как поддерживать сеанс после входа пользователя в систему при развертывании в lambda. Любые предложения, пожалуйста.


person Vani Polnedi    schedule 12.12.2018    source источник


Ответы (2)


Большинство возможностей сеанса, присущих Django, будут нормально работать с проектом Django, развернутым zappa, если доступна соответствующая инфраструктура. Например, если вы выберете сеанс с поддержкой базы данных, ваше развертывание Django должно иметь доступ к базе данных. Но вы должны избегать сеансов на основе файлов, поскольку вы не можете гарантировать, что файл будет существовать для любого заданного пользовательского запроса (контейнер лямбда, в который направляются запросы, не является детерминированным).

Дополнительную информацию о сеансах Django см. в документации.

person Edgar    schedule 12.12.2018

Как вы, наверное, знаете, лямбда-выражения не имеют состояния. Вы можете использовать некоторую базу данных, например Dynamo DB, для хранения и извлечения информации, связанной с сеансом, то есть токена подключения. В противном случае вы можете интегрироваться с сервисом AWS Cognito, который обрабатывает информацию об аутентификации и сеансе за вас.

person GiorgosDev    schedule 12.12.2018
comment
Но django не интегрируется с dynamob db, поэтому вы не сможете делать такие вещи, как user.is_authenticated, верно? - person Mojimi; 05.04.2019