import logging import azure.functions as func from json import dump as jsondump, loads as jsonload from dataclasses import dataclass, asdict from typing import Optional @dataclass(frozen=True) class AiKompasMessage: msg_type: int obj_id: Optional[str] @classmethod def fromServiceBusMessage(cls, msg: func.ServiceBusMessage) -> 'AiKompasMessage': s = msg.get_body().decode('utf-8') return AiKompasMessage(**jsonload(s)) def toJson(self) -> str: return jsondump(asdict(self)) def main(msg: func.ServiceBusMessage): logging.info('[Analyzer] Starting') msg = AiKompasMessage.fromServiceBusMessage(msg) logging.info(f'[Analyzer] Received Message with obj_id: {msg.obj_id}')