无法导入模块 'lambda_function':没有名为 'error' 的模块
Unable to import module 'lambda_function': No module named 'error'
我有一个简单的 Python 代码,它使用 Elasticsearch 模块 "curator" 来制作快照。
我已经在本地测试了我的代码并且它有效。
现在我想在 AWS Lambda 中 运行 它,但出现此错误:
Unable to import module 'lambda_function': No module named 'error'
以下是我的处理方式:
我手动创建了一个 Lambda 并给它一个 "AISA-BasicLambdaExecutionRole" 角色。然后我用我的函数和我用命令安装的依赖项创建了我的包:
pip install elasticsearch-curator -t /<path>/myRepository
我压缩了内容(不是文件夹)并将其上传到我的 Lambda 中。
我将处理程序名称更改为 "lambda_function.lambda_handler"(我的函数名称是 "lambda_function.py")。
我错过了什么吗?这是我第一次使用 Lambda 和 Python
我看到了关于这个错误的其他问题:
"errorMessage": "Unable to import module 'lambda_function'"
但对我来说没有任何用处。
编辑:
这是我的 lambda_function :
from __future__ import print_function
import curator
import time
from curator.exceptions import NoIndices
from elasticsearch import Elasticsearch
def lambda_handler(event, context):
es = Elasticsearch()
index_list = curator.IndexList(es)
index_list.filter_by_regex(kind='prefix', value="logstash-")
Number = 1
try:
while Number <= 3:
Name="snapshotLmbd_n_"+ str(Number) +""
curator.Snapshot(index_list, repository="s3-backup", name= Name , wait_for_completion=True).do_action()
Number += 1
print('Just taking a nap ! will be back soon')
time.sleep(30)
except KeyboardInterrupt:
print('My bad ! I interrupted this')
return
感谢您的宝贵时间。
好的,既然你的其他一切都正确,请检查 python 脚本的权限。
必须有可执行权限(755)
我有一个简单的 Python 代码,它使用 Elasticsearch 模块 "curator" 来制作快照。 我已经在本地测试了我的代码并且它有效。
现在我想在 AWS Lambda 中 运行 它,但出现此错误:
Unable to import module 'lambda_function': No module named 'error'
以下是我的处理方式:
我手动创建了一个 Lambda 并给它一个 "AISA-BasicLambdaExecutionRole" 角色。然后我用我的函数和我用命令安装的依赖项创建了我的包:
pip install elasticsearch-curator -t /<path>/myRepository
我压缩了内容(不是文件夹)并将其上传到我的 Lambda 中。 我将处理程序名称更改为 "lambda_function.lambda_handler"(我的函数名称是 "lambda_function.py")。
我错过了什么吗?这是我第一次使用 Lambda 和 Python
我看到了关于这个错误的其他问题:
"errorMessage": "Unable to import module 'lambda_function'"
但对我来说没有任何用处。
编辑:
这是我的 lambda_function :
from __future__ import print_function
import curator
import time
from curator.exceptions import NoIndices
from elasticsearch import Elasticsearch
def lambda_handler(event, context):
es = Elasticsearch()
index_list = curator.IndexList(es)
index_list.filter_by_regex(kind='prefix', value="logstash-")
Number = 1
try:
while Number <= 3:
Name="snapshotLmbd_n_"+ str(Number) +""
curator.Snapshot(index_list, repository="s3-backup", name= Name , wait_for_completion=True).do_action()
Number += 1
print('Just taking a nap ! will be back soon')
time.sleep(30)
except KeyboardInterrupt:
print('My bad ! I interrupted this')
return
感谢您的宝贵时间。
好的,既然你的其他一切都正确,请检查 python 脚本的权限。
必须有可执行权限(755)