Я пытаюсь загрузить пользовательский объект (в лямбда-функции), который я выбрал ранее.Получение атрибута error as
[ERROR] AttributeError: Can't get attribute 'my_class' on <module '__main__' from '/var/runtime/bootstrap'>
Попытка импортировать класс, как предложено в нескольких сообщениях.(работает по местному)
from my_class import *
но не повезло.
Я травлю объект следующим образом:
вызов -
my_class_obj = my_class()
my_class_obj.to_disk(OBJECT_FILE, my_class_obj)
Функция to_disk выглядит следующим образом:
def to_disk(self, file_name, data):
with open(file_name, 'wb') as f:
pickle.dump(data , f)
Загрузка объекта в новый файл Python как
new_my_class_obj = from_disk(OBJECT_FILE)
Метод загрузки
def from_disk(file_name):
with open(file_name, 'rb') as f:
return pickle.load(f)
Оператор import * разрешаетвопрос на локальной машине но не в aws лямбде.Я включил файл my_class в пакет развертывания самой лямбды.Объект также упакован с лямбдой.
Также используются слои для нескольких зависимостей, но не думайте, имеет ли это какое-либо отношение к этой ошибке.