Skip to content

Commit fdda54b

Browse files
author
Lucas McDonald
committed
m
1 parent 97e4bde commit fdda54b

File tree

1 file changed

+33
-25
lines changed
  • DynamoDbEncryption/runtimes/python/src/aws_dbesdk_dynamodb/encrypted

1 file changed

+33
-25
lines changed

DynamoDbEncryption/runtimes/python/src/aws_dbesdk_dynamodb/encrypted/table.py

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,21 @@ class EncryptedTable(EncryptedBotoInterface):
3737
drop-in replacement that transparently handles encryption and decryption of items.
3838
3939
The API matches the standard boto3 DynamoDB table interface:
40+
4041
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table.html
4142
4243
This class will encrypt/decrypt items for the following operations:
43-
* put_item
44-
* get_item
45-
* query
46-
* scan
44+
* ``put_item``
45+
* ``get_item``
46+
* ``query``
47+
* ``scan``
48+
49+
The ``update_item`` operation is not currently supported. Calling this operation will raise ``NotImplementedError``.
4750
48-
Calling batch_writer() will return a BatchWriter that transparently encrypts batch write requests.
51+
Calling ``batch_writer()`` will return a ``BatchWriter`` that transparently encrypts batch write requests.
4952
5053
Any other operations on this class will defer to the underlying boto3 DynamoDB Table's implementation
5154
and will not be encrypted/decrypted.
52-
53-
Note: The update_item operation is not currently supported. Calling this operation will raise NotImplementedError.
5455
"""
5556

5657
def __init__(
@@ -60,7 +61,7 @@ def __init__(
6061
encryption_config: DynamoDbTablesEncryptionConfig,
6162
):
6263
"""
63-
Create an EncryptedTable object.
64+
Create an ``EncryptedTable`` object.
6465
6566
Args:
6667
table (ServiceResource): Initialized boto3 DynamoDB table
@@ -79,15 +80,16 @@ def put_item(self, **kwargs) -> dict[str, Any]:
7980
"""
8081
Put a single item to the table. Encrypts the item before writing to DynamoDB.
8182
82-
The parameters and return value match the boto3 DynamoDB table put_item API:
83+
The input and output syntaxes match those for the boto3 DynamoDB table ``put_item`` API:
84+
8385
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table/put_item.html
8486
8587
Args:
86-
**kwargs: Keyword arguments to pass to the operation. These match the boto3 put_item API parameters.
87-
The "Item" field will be encrypted locally before being written to DynamoDB.
88+
**kwargs: Keyword arguments to pass to the operation. This matches the boto3 Table ``put_item`` request
89+
syntax. The value in ``"Item"`` will be encrypted locally before being written to DynamoDB.
8890
8991
Returns:
90-
dict: The response from DynamoDB. This matches the boto3 put_item API response.
92+
dict: The response from DynamoDB. This matches the boto3 ``put_item`` response syntax.
9193
9294
"""
9395
return self._table_operation_logic(
@@ -107,15 +109,17 @@ def get_item(self, **kwargs) -> dict[str, Any]:
107109
"""
108110
Get a single item from the table. Decrypts the item after reading from DynamoDB.
109111
110-
The parameters and return value match the boto3 DynamoDB table get_item API:
112+
The input and output syntaxes match those for the boto3 DynamoDB table ``get_item`` API:
113+
111114
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table/get_item.html
112115
113116
Args:
114-
**kwargs: Keyword arguments to pass to the operation. These match the boto3 get_item API parameters.
117+
**kwargs: Keyword arguments to pass to the operation. This matches the boto3 Table ``get_item`` request
118+
syntax.
115119
116120
Returns:
117-
dict: The response from DynamoDB. This matches the boto3 get_item API response.
118-
The "Item" field will be decrypted locally after being read from DynamoDB.
121+
dict: The response from DynamoDB. This matches the boto3 Table ``get_item`` response syntax.
122+
The value in ``"Item"`` will be decrypted locally after being read from DynamoDB.
119123
120124
"""
121125
return self._table_operation_logic(
@@ -135,15 +139,17 @@ def query(self, **kwargs) -> dict[str, Any]:
135139
"""
136140
Query items from the table or index. Decrypts any returned items.
137141
138-
The parameters and return value match the boto3 DynamoDB table query API:
142+
The input and output syntaxes match those for the boto3 DynamoDB table ``query`` API:
143+
139144
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table/query.html
140145
141146
Args:
142-
**kwargs: Keyword arguments to pass to the operation. These match the boto3 query API parameters.
147+
**kwargs: Keyword arguments to pass to the operation. This matches the boto3 Table ``query`` request
148+
syntax.
143149
144150
Returns:
145-
dict: The response from DynamoDB. This matches the boto3 query API response.
146-
The "Items" field will be decrypted locally after being read from DynamoDB.
151+
dict: The response from DynamoDB. This matches the boto3 Table ``query`` response syntax.
152+
The value in ``"Items"`` will be decrypted locally after being read from DynamoDB.
147153
148154
"""
149155
return self._table_operation_logic(
@@ -163,15 +169,17 @@ def scan(self, **kwargs) -> dict[str, Any]:
163169
"""
164170
Scan the entire table or index. Decrypts any returned items.
165171
166-
The parameters and return value match the boto3 DynamoDB table scan API:
172+
The input and output syntaxes match those for the boto3 DynamoDB table ``scan`` API:
173+
167174
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table/scan.html
168175
169176
Args:
170-
**kwargs: Keyword arguments to pass to the operation. These match the boto3 scan API parameters.
177+
**kwargs: Keyword arguments to pass to the operation. This matches the boto3 Table ``scan`` request
178+
syntax.
171179
172180
Returns:
173-
dict: The response from DynamoDB. This matches the boto3 scan API response.
174-
The "Items" field will be decrypted locally after being read from DynamoDB.
181+
dict: The response from DynamoDB. This matches the boto3 Table ``scan`` response syntax.
182+
The value in ``"Items"`` will be decrypted locally after being read from DynamoDB.
175183
176184
"""
177185
return self._table_operation_logic(
@@ -189,7 +197,7 @@ def scan(self, **kwargs) -> dict[str, Any]:
189197

190198
def update_item(self, **kwargs):
191199
"""
192-
Not implemented. Raises NotImplementedError.
200+
Not implemented. Raises ``NotImplementedError``.
193201
194202
Args:
195203
**kwargs: Any arguments passed to this method

0 commit comments

Comments
 (0)