Skip to content

Commit 7d6c6c5

Browse files
committed
remove dynamodb client/resource function arguments
1 parent f496172 commit 7d6c6c5

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

aws_sra_examples/solutions/genai/bedrock_org/lambda/src/sra_dynamodb.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def __init__(self, profile="default") -> None:
5050
self.LOGGER.exception(self.UNEXPECTED)
5151
raise ValueError("Unexpected error!") from None
5252

53-
def create_table(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
53+
def create_table(self, table_name):
5454
# Define table schema
5555
key_schema = [
5656
{"AttributeName": "solution_name", "KeyType": "HASH"},
@@ -64,15 +64,15 @@ def create_table(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
6464

6565
# Create table
6666
try:
67-
dynamodb_client.create_table(
67+
self.DYNAMODB_CLIENT.create_table(
6868
TableName=table_name, KeySchema=key_schema, AttributeDefinitions=attribute_definitions, ProvisionedThroughput=provisioned_throughput
6969
)
7070
self.LOGGER.info(f"{table_name} dynamodb table created successfully.")
7171
except Exception as e:
7272
self.LOGGER.info("Error creating table:", e)
7373
# wait for the table to become active
7474
while True:
75-
wait_response = dynamodb_client.describe_table(TableName=table_name)
75+
wait_response = self.DYNAMODB_CLIENT.describe_table(TableName=table_name)
7676
if wait_response["Table"]["TableStatus"] == "ACTIVE":
7777
self.LOGGER.info(f"{table_name} dynamodb table is active")
7878
break
@@ -81,13 +81,13 @@ def create_table(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
8181
# TODO(liamschn): need to add a maximum retry mechanism here
8282
sleep(5)
8383

84-
def table_exists(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
84+
def table_exists(self, table_name):
8585
# Check if table exists
8686
try:
87-
dynamodb_client.describe_table(TableName=table_name)
87+
self.DYNAMODB_CLIENT.describe_table(TableName=table_name)
8888
self.LOGGER.info(f"{table_name} dynamodb table already exists...")
8989
return True
90-
except dynamodb_client.exceptions.ResourceNotFoundException:
90+
except self.DYNAMODB_CLIENT.exceptions.ResourceNotFoundException:
9191
self.LOGGER.info(f"{table_name} dynamodb table does not exist...")
9292
return False
9393

@@ -99,8 +99,8 @@ def get_date_time(self):
9999
now = datetime.now()
100100
return now.strftime("%Y%m%d%H%M%S")
101101

102-
def insert_item(self, table_name, solution_name, dynamodb_resource=DYNAMODB_RESOURCE):
103-
table = dynamodb_resource.Table(table_name)
102+
def insert_item(self, table_name, solution_name):
103+
table = self.DYNAMODB_RESOURCE.Table(table_name)
104104
record_id = self.generate_id()
105105
date_time = self.get_date_time()
106106
response = table.put_item(
@@ -113,9 +113,9 @@ def insert_item(self, table_name, solution_name, dynamodb_resource=DYNAMODB_RESO
113113
# self.LOGGER.info({"insert_record_response": response})
114114
return record_id, date_time
115115

116-
def update_item(self, table_name, solution_name, record_id, attributes_and_values, dynamodb_resource=DYNAMODB_RESOURCE):
116+
def update_item(self, table_name, solution_name, record_id, attributes_and_values):
117117
self.LOGGER.info(f"Updating {table_name} dynamodb table with {attributes_and_values}")
118-
table = dynamodb_resource.Table(table_name)
118+
table = self.DYNAMODB_RESOURCE.Table(table_name)
119119
update_expression = ""
120120
expression_attribute_values = {}
121121
for attribute in attributes_and_values:
@@ -136,7 +136,7 @@ def update_item(self, table_name, solution_name, record_id, attributes_and_value
136136
)
137137
return response
138138

139-
def find_item(self, table_name, solution_name, additional_attributes, dynamodb_resource=DYNAMODB_RESOURCE) -> tuple[bool, dict]:
139+
def find_item(self, table_name, solution_name, additional_attributes) -> tuple[bool, dict]:
140140
"""Find an item in the dynamodb table based on the solution name and additional attributes.
141141
142142
Args:
@@ -149,7 +149,7 @@ def find_item(self, table_name, solution_name, additional_attributes, dynamodb_r
149149
True and the item if found, otherwise False and empty dict
150150
"""
151151
self.LOGGER.info(f"Searching for {additional_attributes} in {table_name} dynamodb table")
152-
table = dynamodb_resource.Table(table_name)
152+
table = self.DYNAMODB_RESOURCE.Table(table_name)
153153
expression_attribute_values = {":solution_name": solution_name}
154154

155155
filter_expression = " AND ".join([f"{attr} = :{attr}" for attr in additional_attributes.keys()])
@@ -182,17 +182,17 @@ def get_unique_values_from_list(self, list_of_values):
182182
unique_values.append(value)
183183
return unique_values
184184

185-
def get_distinct_solutions_and_accounts(self, table_name, dynamodb_resource=DYNAMODB_RESOURCE):
186-
table = dynamodb_resource.Table(table_name)
185+
def get_distinct_solutions_and_accounts(self, table_name):
186+
table = self.DYNAMODB_RESOURCE.Table(table_name)
187187
response = table.scan()
188188
solution_names = [item["solution_name"] for item in response["Items"]]
189189
solution_names = self.get_unique_values_from_list(solution_names)
190190
accounts = [item["account"] for item in response["Items"]]
191191
accounts = self.get_unique_values_from_list(accounts)
192192
return solution_names, accounts
193193

194-
def get_resources_for_solutions_by_account(self, table_name, solutions, account, dynamodb_resource=DYNAMODB_RESOURCE):
195-
table = dynamodb_resource.Table(table_name)
194+
def get_resources_for_solutions_by_account(self, table_name, solutions, account):
195+
table = self.DYNAMODB_RESOURCE.Table(table_name)
196196
query_results = {}
197197
for solution in solutions:
198198
# expression_attribute_values = {":solution_name": solution}
@@ -209,7 +209,7 @@ def get_resources_for_solutions_by_account(self, table_name, solutions, account,
209209
query_results[solution] = response
210210
return query_results
211211

212-
def delete_item(self, table_name, solution_name, record_id, dynamodb_resource=DYNAMODB_RESOURCE):
212+
def delete_item(self, table_name, solution_name, record_id):
213213
"""Delete an item from the dynamodb table
214214
215215
Args:
@@ -222,6 +222,6 @@ def delete_item(self, table_name, solution_name, record_id, dynamodb_resource=DY
222222
response: response from dynamodb delete_item
223223
"""
224224
self.LOGGER.info(f"Deleting {record_id} from {table_name} dynamodb table")
225-
table = dynamodb_resource.Table(table_name)
225+
table = self.DYNAMODB_RESOURCE.Table(table_name)
226226
response = table.delete_item(Key={"solution_name": solution_name, "record_id": record_id})
227227
return response

0 commit comments

Comments
 (0)