Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Sessions backend dedicated for Django uses Amazon DynamoDB v.2

Project Description
django-dynamodb2-sessions
=========================

:Info: Sessions backend dedicated for Django uses Amazon `DynamoDB`_ v.2 for data storage.
:Author: Justine Żarna

If You need backend uses Amazon DynamoDB v. 1 see `Greg Taylor github`_

.. _DynamoDB: http://aws.amazon.com/dynamodb/
.. _Greg Taylor github: https://github.com/gtaylor/django-dynamodb-sessions

First step: create DynamoDB Table
--------------------------

Visit your `DynamoDB tab`_ in the AWS Management Console and follow instructions:

* Choose the *Create Table* option.
* Enter your sessions table name (example: ``sessions``).
* Select Primary Key Type = ``Hash``.
* Select Hash Attribute Type as ``String``.
* Enter ``session_key`` for *Hash Attribute Name*.
* Choose the *Continue* option twice.
* Fill Provisioned Throughput Capacity (only for tests: ``read`` - 10 units, ``write`` - 5 units).
* Choose the *Continue* option.
* Choose the *Create* option.

.. _DynamoDB tab: https://console.aws.amazon.com/dynamodb/home

Second step: installation
-------------

Install django-dynamodb2-sessions using ``pip``::

pip install django-dynamodb2-sessions

Export your AWS key and secret key as environment variables because of security::

export AWS_ACCESS_KEY_ID='YourKey'
export AWS_SECRET_ACCESS_KEY='YourSecretKey'
export AWS_REGION_NAME = 'YourRegion'

In your ``settings.py`` file, you'll need set variables::

import os
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID', '') # set Your AWS key
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY', '') # set Your AWS secret key
AWS_REGION_NAME = os.environ.get('AWS_REGION_NAME', '') # set Your AWS region

DYNAMODB_SESSIONS_TABLE_NAME = '' # set Your sessions table name

Set your session backend to::

SESSION_ENGINE = 'dynamodb_sessions.backends.cached_dynamodb'

or::

SESSION_ENGINE = 'dynamodb_sessions.backends.dynamodb'

Optional you can set always consistent parametr.
If you are not using cache to this sessions backend you can force all reads from Dynamodb by setting True.
Default: False::

DYNAMODB_SESSIONS_ALWAYS_CONSISTENT = False

Versions
-------

0.1
^^^

* Initial release.

0.3
^^^

* Added removing expired sessions command management.

0.2
^^^

* Added new version of boto to requirements

License
-------

django-dynamodb2-sessions is licensed under the BSD License.
Release History

Release History

This version
History Node

0.3

History Node

0.2

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-dynamodb2-sessions-0.3.tar.gz (6.3 kB) Copy SHA256 Checksum SHA256 Source Aug 14, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting