import logging from fansifter.operators.base import FanSifterLambdaOperator class CalculateAnalyticsCacheOperator(FanSifterLambdaOperator): def __init__(self, **kwargs) -> None: super().__init__(**kwargs) def execute(self, context): conf = self._get_config() profile = conf["profile"] workspace_schema = conf.get("workspace_schema") alliance_schema = conf.get("alliance_schema") user_id = conf["user_id"] collection_id = conf["collection_id"] payload = { "endpoint": "post_enrich/calculate_analytics_cache", "arguments": {"user_id": user_id, "collection_id": collection_id}, } if workspace_schema is not None: payload["arguments"].update({"workspace_schema": workspace_schema}) elif alliance_schema is not None: payload["arguments"].update({"alliance_schema": alliance_schema}) try: self.invoke_lambda(function_name=f"frontend-api-{profile}-post-enrichment-requests", payload=payload) except Exception as e: logging.error(e) raise e