AWS Lambda:执行失败,没有错误
问题描述:
我写了一个独立于AWS Lambda的Python脚本(upload.py
)。它将数据作为POST上传到API。它具有以下方法来处理LAMBDA执行:AWS Lambda:执行失败,没有错误
def handler(event, context):
print("Hello!")
start()
当我打电话start()
我的本地计算机上,脚本运行成功。
当我将代码上传到Lambda并运行测试或启动触发器时,没有任何反应。以下被打印出来:
START RequestId: 6abc0995-865c-11e6-b015-57198f9121b5 Version: $LATEST
END RequestId: 6abc0995-865c-11e6-b015-57198f9121b5
REPORT RequestId: 6abc0995-865c-11e6-b015-57198f9121b5 Duration: 2056.85 ms Billed Duration: 2100 ms
然而,当我引入误差的代码(例如添加的字符串和整数),错误被打印出来。
设置中的所有内容都已正确定义(例如upload.handler),并且未分配VPC以消除网络问题。执行角色具有管理员权限,可以将其作为一种可能性消除。
答
所以事实证明,“sys”库在Lambda中是不允许的,这在后见之明是有道理的。为了应对潜在的编码问题,我有以下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
作为另一堆栈溢出线程建议。这显然是阻止执行。删除允许脚本正确执行。