annotate get_report/app.py @ 8:f2442b8f43de

add outputs
author Dennis C. M. <dennis@denniscm.com>
date Mon, 05 Jun 2023 20:07:22 +0100
parents 7c5fb7573dd8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 import json
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2 import boto3
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 from boto3.dynamodb.conditions import Key
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 resource = boto3.resource('dynamodb')
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 table = resource.Table('FinanceParser')
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9 def lambda_handler(event, context):
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 query_string_parameters = event['queryStringParameters']
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 company_ticker = query_string_parameters['ticker']
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 report_type = query_string_parameters['type']
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13 year = query_string_parameters['year']
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 pk = f'{report_type}#{company_ticker}'
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 response = table.query(
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 KeyConditionExpression=Key('pk').eq(pk) & Key('sk').begins_with(year)
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 )
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 return {
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 "statusCode": 200,
7
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
22 "headers": {
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
23 "Access-Control-Allow-Headers": "Content-Type",
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
24 "Access-Control-Allow-Origin": "*",
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
25 "Access-Control-Allow-Methods": "GET"
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
26 },
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 "body": json.dumps({
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 "message": {
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 "items": response['Items'],
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 "count": len(response['Items'])
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31 }
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 }),
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 }