AWS LAMBDA处理程序错误 - 模块“索引”语法错误:
我想写使用运行时我的第一拉姆达功能“的Python 3.6”。 下面是选择在创建功能: 角色 - 选择自定义角色。 现有角色 - 拉姆达基本执行 Python代码如下:AWS 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
在执行这个,我,得到如下错误:
{
"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值(目前我已经存储在一个变量)
你”重新尝试在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
感谢您的回复。我已根据您的语法在代码中进行了更改,并在上面主要问题的代码中进行了编辑。仍然收到相同的错误 - 模块'index'中的语法错误:语法无效(index.py,第1行)。 请帮忙! –
您的代码充满了错误。正如我所说的,在创建lambda函数时使用提供给您的内置示例之一,并从那里开始 –
试过了,没有运气!我之前的代码也使用在线python编译器https://repl.it/Mwpx进行了测试。无论如何,我还是在主要问题中编辑了代码,再次提供了您的代码以及新错误 - “errorMessage”:“错误处理程序'index_handler'”。我还附上了主要问题中来自我的AWS门户的图像快照。请检查。 –
这是否看起来像Python语法给你?我建议你阅读官方的[Python教程](https://docs.python.org/3/tutorial/)。读一读,你会发现Python不会像这样使用'{}',也不会使用';'并且缩进是相关的! –
较早的Python代码在网上蟒蛇反编译https://repl.it/Mwpx 测试成功,但现在我已经编辑的代码按由Unglückspilz提供解决方案的主要问题。 –