在这里提问的理由:我已经尝试让这个非常简单的事情工作好几天了,即使 POST API 仅消耗有效负载在几分钟内就可以工作。 Amazon 自己的文档已经过时,Youtube 上的许多教程都显示与 AWS UI 现在不同的选项。我也尝试查看this,this,但他们要么需要更复杂的东西,要么答案已经过时了。
问题:我有一个简单的用例,需要创建一个API
GET URL/{id}
由 python lambda 函数支持。但 lambda 函数没有获取路径参数。
我怎么知道它不起作用: 在我的 python lambda 函数中,我转储事件 json,它是空的 {}
def lambda_handler(event, context):
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
table.put_item(
Item={
"timevalue": current_time,
"eventvalue": json.dumps(event)
}
我根据AWS文档尝试过:
这没有指定如何获取函数调用操作的 ARN,也没有指定如何设置它。这是整个文件的要点,但缺失了。如果没有它,我就不会收到任何事件传递给我的函数。
以下https://repost.aws/knowledge-center/api-gateway-lambda-http-endpoint,当像这样调用时,我没有在事件中传递任何参数
“获取 URL/{id}”。
https://repost.aws/knowledge-center/api-gateway-lambda-http-endpoint)。
您是否已经在此处检查了映射模板的可能参数https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html?有一个变量$context.path。您应该能够使用它将路径映射到 lambda 的输入参数中。