[英]How can I serve a .zip through an API Gateway with a Python Lambda?
[英]How can I pass input (event) parameters through API Gateway into Lambda
我了解 API 網關(AG)將參數作為 JSON 有效負載傳遞到 Lambda。
我在 AG 中設置了一個帶有 Lambda 代理的 POST API。 我的 lambda function 采用以下參數列表:
{
"fullname": "Mr xxxxx",
"clientemail": "xxxxxx@xxx.com",
"clientphone": "0800 088 8888",
"locationtext": "Laxxxxxx Hotel , CA, USA",
"subject": "Gxxxxxrth",
"appointmentblock_min": "60",
"buffer": "120",
"calendar_id": "xxxxx",
"thedate": "2021-03-2xxxxxx",
"thetime": "xxxxx"
}
直接在 Lambda 控制台內進行測試。 一切正常。 I map代碼中所有參數使用lambda EVENT object代碼如下:
fullname = event['fullname']
clientemail = event['clientemail']
appointmentblock_min = int(event['appointmentblock_min'])
... 等等。
所有代碼都可以正常工作。
在頂部添加 API 網關組件......但事情不起作用。
具體問題:map lambda輸入參數如何從API網關(AG)到Z945F3FZF449518A466CZ輸入參數? 我意識到 AG 正在將 JSON 發送到 Lambda。 如何解析此有效負載以提取和使用我需要的參數。
我試圖創建一個包含所有參數的字典:
Event = {}
Event = json.loads(body)
Event = json.loads(event.body)
沒有文檔明確解釋如何通過 AG 獲取事件 object 參數。
任何幫助,將不勝感激。
PS 我希望將數據返回給 AG,如下所示:
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps(out_message),
'isBase64Encoded': 'false'
}
謝謝您的考慮。
根據 Lambda 中的 TestEvents,您在 Lambda 上獲得的輸入將是
因此,您可以將有效負載(或正文)加載為
Event = json.loads(event['body'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.