如何使用Python 2.7在AWS Lambda中编写hello world示例?
我完全被AWS中的文档搞糊涂了 我试过的如何使用Python 2.7在AWS Lambda中编写hello world示例?,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,我完全被AWS中的文档搞糊涂了 我试过的 使用区域us-west-2注册AWS帐户 创建了一个名为helloworld的Lambda函数 在内部创建了一个名为hello\u world的处理程序 所选操作>配置测试事件>所选公共>Hello World 按Test,我会收到以下错误消息: 下面的区域显示了函数执行返回的结果。 { “errorMessage”:“模块'helloworld'中的语法错误” } 及 我想要的 我只想成功地执行python hello world,这样我就知
hello\u world
的处理程序def print_something(entry, second_entry):
print str(entry)
print str(second_entry)
return str(second_entry)
而且执行得当
这就是我看到的:
START RequestId: 33bf2a83-ecda-11e5-bdcd-2de843a18bed Version: $LATEST
{u'key3': u'value3', u'key2': u'value2', u'key1': u'value1'}
<__main__.LambdaContext object at 0x7f66d1848990>
END RequestId: 33bf2a83-ecda-11e5-bdcd-2de843a18bed
启动请求ID:33bf2a83-ecda-11e5-bdcd-2DE843A18床版本:$LATEST
{u'key3':u'value3',u'key2':u'value2',u'key1':u'value1'}
结束请求ID:33bf2a83-ecda-11e5-bdcd-2de843a18bed
显示为第二个参数的LamdaContext对象究竟是什么?对于python函数:
def helloworld():
打印“helloworld”
然后,在配置中,您应该使用“helloworld”作为lambda处理程序。两个问题:
def hello_world(event_data, lambda_config):
print "hello world"
有关主处理程序参数的更多信息,请阅读
摘录:
在Python中创建处理程序函数时,请使用以下通用语法结构
def handler_name(event, context):
...
return some_value
在语法中,请注意以下内容:
- event–AWS Lambda使用此参数将事件数据传递给处理程序。此参数通常为Python dict类型。它也可以是list、str、int、float或NoneType类型
- 上下文–AWS Lambda使用此参数向处理程序提供运行时信息。此参数为LambdaContext类型
- 或者,处理程序可以返回一个值。返回值的情况取决于调用Lambda函数时使用的调用类型: 如果使用RequestResponse调用类型(同步执行),AWS Lambda将Python函数调用的结果返回给调用Lambda函数的客户端(在调用请求的HTTP响应中,序列化为JSON)。例如,AWS Lambda控制台使用RequestResponse调用类型,因此当您使用控制台测试调用函数时,控制台将显示返回值。 如果处理程序不返回任何内容,AWS Lambda将返回null。 如果使用事件调用类型(异步执行),则会丢弃该值
def event_handler(event,context):
message = "hello{0}".format(event['world'])
return mesaage
这里的事件总是像字典类型的对象
上下文是lambda上下文你的回答帮助我让它运行起来。现在的问题是,我的主处理程序需要接受2个参数。不确定原因。因为lambda处理程序需要两个参数,例如
def lambda_处理程序(事件,上下文):代码>也许您可以阅读aws lambda的文档了解更多信息。
def event_handler(event,context):
message = "hello{0}".format(event['world'])
return mesaage