假设我想在从Api网关端点向Lambda函数发出GET请求时在URL字符串中传递val1和val2:
https://xyz.execute-api.amazonaws.com/prod/test?val1=5&val2=10
我有一个简单的函数,它将两个输入值val1和val2相加:
def lambda_handler(event, context):
# How do I get at val1 and val2??
return {'result': val1 + val2}
我已经将val1和val2添加到AWS API网关上方法请求的URL查询字符串参数中。但是如何在函数中访问它们?
在API网关的方法请求部分中定义查询字符串参数后,您需要在[方法执行 在方法执行部分,选择映射模板,然后单击添加映射模板。为内容类型输入 这将告诉API网关获取名为application/json
,然后创建一个如下所示的映射模板:{
"va1": "$input.params('val1')",
"val2": "$input.params('val2')"
}
val1
和val2
的输入参数(在路径上传递,或在标头中传递,或是在查询参数中传递),并将它们作为val1
和val2
发送到事件数据中的Lambda函数。
所有信息都可以从Event
对象中检索。
例如:变量foo的值可以从事件中检索为:event["foo"]
。