comparison get_report/app.py @ 5:2daf0dc08247

add get report endpoint
author Dennis C. M. <dennis@denniscm.com>
date Mon, 05 Jun 2023 12:48:47 +0100
parents
children 7c5fb7573dd8
comparison
equal deleted inserted replaced
4:9005b7590008 5:2daf0dc08247
1 import json
2 import boto3
3 from boto3.dynamodb.conditions import Key
4
5 resource = boto3.resource('dynamodb')
6 table = resource.Table('FinanceParser')
7
8
9 def lambda_handler(event, context):
10 query_string_parameters = event['queryStringParameters']
11 company_ticker = query_string_parameters['ticker']
12 report_type = query_string_parameters['type']
13 year = query_string_parameters['year']
14
15 pk = f'{report_type}#{company_ticker}'
16 response = table.query(
17 KeyConditionExpression=Key('pk').eq(pk) & Key('sk').begins_with(year)
18 )
19
20 return {
21 "statusCode": 200,
22 "body": json.dumps({
23 "message": {
24 "items": response['Items'],
25 "count": len(response['Items'])
26 }
27 }),
28 }