跳转到主要内容

使用亚马逊DynamoDB的Django会话后端

项目描述

信息:

此软件包包含一个简单的Django会话后端,它使用亚马逊的DynamoDB进行数据存储。

作者:

Greg Taylor

状态

django-dynamodb-sessions已在EC2的小型测试环境中使用。虽然它应该已经准备好投入使用,但尚未经过大量的实战测试。其他注意事项

  • 目前没有管理命令可以删除过期的会话。我们无法重用Django清理命令,因此我们需要编写自己的。这将在下一个版本中添加,我们已经在设置过期属性以驱动清理。

设置您的DynamoDB表

在您可以使用此模块之前,您需要访问AWS管理控制台中的DynamoDB标签页。然后

  • 点击“创建表”按钮。

  • 输入sessions作为您的表名。这可以是其他名称,您只需相应地调整settings.DYNAMODB_SESSIONS_TABLE_NAME的值。

  • 选择主键类型 = Hash

  • 选择一个String哈希属性类型。

  • session_key输入为哈希属性名称

  • 点击“继续”按钮。

  • 决定吞吐量。免费层是10个读取容量单元,5个写入。

  • 完成其余步骤

在您的表创建后,您就可以在Django应用程序上安装该模块了。

安装

使用 pipeasy_install 安装 django-dynamodb-sessions

pip install django-dynamodb-sessions

在你的 settings.py 文件中,你需要类似以下内容

DYNAMODB_SESSIONS_AWS_ACCESS_KEY_ID = 'YourKeyIDHere'
DYNAMODB_SESSIONS_AWS_SECRET_ACCESS_KEY = 'YourSecretHere'

如果你想在应用程序和 DynamoDB 之间添加一个缓存层以减少查询(例如 Django 的 cached_db 后端),请设置会话后端为

SESSION_ENGINE = 'dynamodb_sessions.backends.cached_dynamodb'

否则,直接使用 DynamoDB

SESSION_ENGINE = 'dynamodb_sessions.backends.dynamodb'

之后,启动它并密切关注你的 Amazon 管理控制台,看看是否需要调整读写单元。

如果你遇到任何错误,有任何问题,或者想要分享一个想法,请访问我们的 问题追踪器

配置

以下设置可以在你的 settings.py 中使用

DYNAMODB_SESSIONS_TABLE_NAME:

用于会话数据存储的表名。默认为 sessions

DYNAMODB_SESSIONS_TABLE_HASH_ATTRIB_NAME:

会话表上的哈希属性名。默认为 session_key

DYNAMODB_SESSIONS_ALWAYS_CONSISTENT:

如果你没有在缓存后面使用此会话后端,你可能希望强制所有 DynamoDB 读取都保持一致。这可能会导致查询略微变慢,但你永远不会错过对象创建/编辑。默认为 True

DYNAMODB_SESSIONS_AWS_ACCESS_KEY_ID:

用于 DynamoDB 的 AWS 账户的访问密钥。

DYNAMODB_SESSIONS_AWS_SECRET_ACCESS_KEY:

用于 DynamoDB 的 AWS 账户的秘密。

DYNAMODB_SESSIONS_AWS_REGION_NAME:

用于 DynamoDB 的区域。

变更

0.6

  • 删除了一些不再使用的导入。

  • PEP8 清理。

0.5

  • 在后端中将 self.session_key 替换为 self._session_key。(AdamN)

0.4

  • 与 Django 1.4 兼容,并删除了不必要的代码。(AdamN)

0.3

  • 使用 setuptools 而不是 distutils 重新打包。

0.2

  • 修复了 cached_dynamodb 后端的问题。

0.1

  • 初始发布。

许可证

django-dynamodb-sessions 在 BSD 许可证 下发布。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪一个,请了解更多关于 安装软件包 的信息。

源分发

django-dynamodb-sessions-0.6.tar.gz (6.6 kB 查看哈希

上传时间

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面