5
|
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,
|
7
|
22 "headers": {
|
|
23 "Access-Control-Allow-Headers": "Content-Type",
|
|
24 "Access-Control-Allow-Origin": "*",
|
|
25 "Access-Control-Allow-Methods": "GET"
|
|
26 },
|
5
|
27 "body": json.dumps({
|
|
28 "message": {
|
|
29 "items": response['Items'],
|
|
30 "count": len(response['Items'])
|
|
31 }
|
|
32 }),
|
|
33 }
|