view get_report/app.py @ 7:7c5fb7573dd8

first working version
author Dennis C. M. <dennis@denniscm.com>
date Mon, 05 Jun 2023 19:06:34 +0100
parents 2daf0dc08247
children
line wrap: on
line source

import json
import boto3
from boto3.dynamodb.conditions import Key

resource = boto3.resource('dynamodb')
table = resource.Table('FinanceParser')


def lambda_handler(event, context):
    query_string_parameters = event['queryStringParameters']
    company_ticker = query_string_parameters['ticker']
    report_type = query_string_parameters['type']
    year = query_string_parameters['year']

    pk = f'{report_type}#{company_ticker}'
    response = table.query(
        KeyConditionExpression=Key('pk').eq(pk) & Key('sk').begins_with(year)
    )

    return {
        "statusCode": 200,
        "headers": {
            "Access-Control-Allow-Headers": "Content-Type",
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Methods": "GET"
        },
        "body": json.dumps({
            "message": {
                "items": response['Items'],
                "count": len(response['Items'])
            }
        }),
    }