Но я в любом случае буду ещё пробовать может я где и накосячил) пока что в скрипт напрямую воткнул функции, чтоб проверить сам скрипт)
Всплыла новая проблема - я в скрипте строю график и сохраняю его для дальнейшей отправки в слак - а эйрфло ругается что нет пермишна на сохранение изображения в папку с дагами
tempfile создает временный файл, с которым ты работаешь, как с обычным - после работы файл автоматом удаляется. Bytes (string) IO предоставляет интерфейс к памяти, то есть ты сохраняешь график напрямую в память программы и потом оттуда считываешь.
tempfile создает временный файл, с которым ты работаешь, как с обычным - после работы файл автоматом удаляется. Bytes (string) IO предоставляет интерфейс к памяти, то есть ты сохраняешь график напрямую в память программы и потом оттуда считываешь.
вобще я строю график - и получаю его в виде пнг а далее превращаю изображение в байты и отправляю в слак - но я не знаю как график сразу получить в байтах - сейчас для получения пнг из матплотлиба я пишу plt.savefig('/opt/airflow/dags/alarm_bot/image.png')
а далее к пнг применяю функцию def image_to_bytes(path_to_image): ''' ### for save chart use: plt.savefig('image.png') ''' with open(path_to_image, "rb") as image: f = image.read() return bytearray(f)