diff --git a/cron/scripts/ext_api_sync/uba_api_sync.py b/cron/scripts/ext_api_sync/uba_api_sync.py index fcbe3a45e5c9997d2355977edd1316022c32e854..55b40770e17d6e4c968d517fa0f7566e5711b6c8 100644 --- a/cron/scripts/ext_api_sync/uba_api_sync.py +++ b/cron/scripts/ext_api_sync/uba_api_sync.py @@ -7,6 +7,7 @@ import os import logging import json import click +import mqtt from datetime import datetime, timedelta @@ -248,19 +249,21 @@ def main(thing_uuid, parameters, target_uri): parsed_measure_data = parse_measure_data(measure_data, params["station_id"]) parsed_aqi_data = parse_aqi_data(aqi_data, params["station_id"]) parsed_observations = {"observations": parsed_measure_data + parsed_aqi_data} - req = requests.post( + resp = requests.post( f"{api_base_url}/observations/upsert/{thing_uuid}", json=parsed_observations, headers={"Content-type": "application/json"}, ) - if req.status_code == 201: - logging.info( - f"Successfully inserted {len(parsed_observations['observations'])} " - f"observations for thing {thing_uuid} from UBA API into TimeIO DB" - ) - else: - logging.error(f"{req.text}") + if resp.status_code != 201: + logging.error(f"{resp.text}") + resp.raise_for_status() + # exit + logging.info( + f"Successfully inserted {len(parsed_observations['observations'])} " + f"observations for thing {thing_uuid} from UBA API into TimeIO DB" + ) + mqtt.send_mqtt_info("data_parsed", json.dumps({"thing_uuid": thing_uuid})) if __name__ == "__main__": main()