我有一个python 2.7 lambda函数,我已通过zip文件上传到AWS。它挂起了一个使用cpickle加载文件的调用(该文件在zip文件中上传的本地目录中可用)。
这在我的机器上工作正常,我甚至尝试打印几行腌制文件,以确保它能够找到该文件,它们看起来很好。
这里是代码,任何想法?
kea : $(OBJS)
$(CC) $(CPPFLAGS) -o bin/kea-core $(OBJS) $(LIBS)
如果我注释掉pickle.load,一切都会运行,我可以使用pkl_file.readline()正常地从文件中逐行读取。
答案 0 :(得分:1)
我在发布此问题后不久发现的解决方案,增加了lambda函数的可用内存。我加载到内存中的对象太大了。超时误导为错误。
答案 1 :(得分:0)
您的代码中有一个问题不是aws lambda。问题在这里
pickle.load("filename")
pickle.load将文件名作为参数而不是文件描述符。 open('bigrams.pkl','rb')返回文件描述符。 所以就你而言
def chooseNextWord(sentence):
bigrams = pickle.load('bigrams.pkl')
return sentence
这可能对您有用