34 lines
773 B
Python
34 lines
773 B
Python
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}')
|