in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_current_table(entry_type, region=None, account_number=None):
try:
# Scan dynamo for all data
params = {
'IndexName': 'EntryType-index',
'KeyConditionExpression': Key('EntryType').eq(entry_type),
}
if account_number is not None and region is not None:
params['FilterExpression'] = Attr('AccountNumber').eq(account_number) & Attr('Region').eq(region)
elif account_number is not None:
params['FilterExpression'] = Attr('AccountNumber').eq(account_number)
elif region is not None:
params['FilterExpression'] = Attr('Region').eq(region)
response = table.query(**params)
data = response['Items']
while 'LastEvaluatedKey' in response:
params["ExclusiveStartKey"] = response['LastEvaluatedKey']
response = table.query(**params)
data.extend(response['Items'])
return data
except ClientError as e:
print(f'Error: failed to query dynamodb table...{e}')
except Exception as e:
print(f'Error: failed to query dynamodb table...{e}')