"""Lambda get-product-metadata function module.""" from lambdacommon.common_config import logger from src.logic.graphql import get_product_metadata from src.common.utils import compress_payload def handler(event, context): """Lambda entry point.""" try: product_id = int(event['product_id']) product_metadata = get_product_metadata(product_id) retries = int(event.get('retries', 0)) logger.info(f'Got product metadata for product_id: {product_id}. Retries are {retries}') metadata_dict = product_metadata.dict() compressed_metadata = compress_payload(product_metadata.dict()) return { 'status': 'OK', 'product_id': metadata_dict['product']['productId'], 'upc': metadata_dict['product']['upc'], 'product_metadata': compressed_metadata, 'retries': retries } except Exception as e: logger.exception(str(e)) raise e