我试图用RunTime编写我的第一个Lambda函数作为' Python 3.6'。 以下是创建函数时的选择: 角色 - 选择自定义角色。 现有角色 - Lambda基本执行 Python代码如下:
import json
def index_handler(event, context):
data = '{"Type": "SubscriptionConfirmation2","MessageId":
"123","SubscribeURL": "https://www.google.com"}'
data1 = json.loads(data)
print (data1['Type'])
if data1['Type'] == "SubscriptionConfirmation":
var=data1['SubscribeURL']
elif data1['Type'] == "Notification" and data1['SubscribeURL'] == var and
var != "":
var=data1['SomeOtherProperty']
else:
return "Invalid JSON input"
return var
在执行此操作时,我正好低于错误:
{
"errorMessage": "Bad handler 'index_handler'"
}
日志输出:
START RequestId: 3b263d82-b58c-11e7-aa6f-37f006380a9a Version: $LATEST
Bad handler 'index_handler': not enough values to unpack (expected 2, got 1)
END RequestId: 3b263d82-b58c-11e7-aa6f-37f006380a9a
REPORT RequestId: 3b263d82-b58c-11e7-aa6f-37f006380a9a Duration: 0.58 ms
Billed Duration: 100 ms Memory Size: 1280 MB Max Memory Used: 22 MB
请告诉我如何解决此错误并成功运行我的第一个lambda函数?执行此操作后,我的代码目的是获取HTTPrequests,然后读取其json值(目前我已存储在变量中)
答案 0 :(得分:2)
你正试图在python lambda函数中使用javascript。看看创建函数时可用的python示例。处理程序签名应该是def lambda_handler(event, context)
,结果只是从处理程序返回(没有回调)。
编辑:您的代码仍然存在错误,并且是无效的python代码。这是您发布的内容的修改版本,该版本应该适用于具有lambda_function.index_handler
处理程序的Python运行时lambda。
import json
def index_handler(event, context):
data = '{"Type": "SubscriptionConfirmation2","MessageId": "123","SubscribeURL": "https://www.google.com"}'
data1 = json.loads(data)
print (data1['Type'])
if data1['Type'] == "SubscriptionConfirmation":
var=data1['SubscribeURL']
elif data1['Type'] == "Notification" and data1['SubscribeURL'] == var and var != "":
var=data1['SomeOtherProperty']
else:
return "Invalid JSON input"
return var