从API网关获取查询字符串参数

2024-09-30 08:37:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用AmazonAPI网关来调用lambda函数。我正在测试一个get请求,以下内容作为我的查询字符串earlyDate="12-01-21"&laterDate="12-03-21"

我当前使用lambda函数返回传递的事件:

def lambda_handler(event, context):
    return {
        "statusCode": 200,
        "body": json.dumps(event)
    } 

这正如预期的那样有效。当我测试API网关时,我得到一个响应,其中包括

"queryStringParameters": {
    "earlyDate": "12-01-21",
    "laterDate": "12-03-21"
  },
  "multiValueQueryStringParameters": {
    "earlyDate": [
      "12-01-21"
    ],
    "laterDate": [
      "12-03-21"
    ]
  },

这表明我应该能够在event.queryStringParameters访问这些查询参数。但是,当我更改lambda函数以返回这些值时:

def lambda_handler(event, context):
    return {
        "statusCode": 200,
        "body": json.dumps(event.queryStringParameters)
    } 

结果是502错误

如何访问从API网关传入的查询字符串参数


Tags: lambda函数字符串eventjson网关returndef
1条回答
网友
1楼 · 发布于 2024-09-30 08:37:21

我认为,event是一个dict,我们可以通过event['queryStringParameters']访问它的查询参数

我们可以通过以下方式确认这一点:

for key, value in event.items():
   print(key, value)

Lambda可以返回以下内容:

return {
    'statusCode': 200,
    'body': json.dumps(event['queryStringParameters'])
}

相关问题 更多 >

    热门问题