Mercurial > public > finance-parser
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 } |