summaryrefslogtreecommitdiff
path: root/requests_cache/backends/dynamodb.py
diff options
context:
space:
mode:
authorMasahiro Wada <argon.argon.argon@gmail.com>2017-05-10 22:15:43 +0900
committerMasahiro Wada <argon.argon.argon@gmail.com>2017-05-14 03:12:24 +0900
commit56d28129a39a3bf1b6bb22e5af07d0b514acd851 (patch)
treef5fafd8a3f27bf90520f5b8bc5d22f92c062904b /requests_cache/backends/dynamodb.py
parentd5007c043667e3274247464860997557143c5bbb (diff)
downloadrequests-cache-56d28129a39a3bf1b6bb22e5af07d0b514acd851.tar.gz
add dynamodb backend
Diffstat (limited to 'requests_cache/backends/dynamodb.py')
-rw-r--r--requests_cache/backends/dynamodb.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/requests_cache/backends/dynamodb.py b/requests_cache/backends/dynamodb.py
new file mode 100644
index 0000000..536a2bf
--- /dev/null
+++ b/requests_cache/backends/dynamodb.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+ requests_cache.backends.dynamodb
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ ``dynamodb`` cache backend
+"""
+from .base import BaseCache
+from .storage.dynamodbdict import DynamoDbDict
+
+
+class DynamoDbCache(BaseCache):
+ """ ``dynamodb`` cache backend.
+ """
+ def __init__(self, table_name='requests-cache', **options):
+ """
+ :param namespace: dynamodb table name (default: ``'requests-cache'``)
+ :param connection: (optional) ``boto3.resource('dynamodb')``
+ """
+ super(DynamoDbCache, self).__init__(**options)
+ self.responses = DynamoDbDict(table_name, 'responses',
+ options.get('connection'),
+ options.get('endpont_url'),
+ options.get('region_name'),
+ options.get('read_capacity_units'),
+ options.get('write_capacity_units'))
+ self.keys_map = DynamoDbDict(table_name,
+ 'urls',
+ self.responses.connection)