将 AWS API Gateway 查询参数传递到 Python AWS Lambda 时遇到问题

问题描述 投票:0回答:1

我有一个使用 AWS API Gateway 创建的 API,它有 2 个 URL 字符串参数,因此我的 GET 调用采用以下格式

/endpoint?City=NYC&State=NY

我试图在 Python Lambda 函数中捕获城市和州 URL 字符串参数,当我将它们打印出来并在 CloudWatch 中监控它们时,我看到它们都没有。我不确定我在这里缺少什么

import boto3
import json 

def lambda_handler(event, context):
# Extract city and state from query parameters

query_parameters = event.get('queryStringParameters', {})
city = query_parameters.get('City')  
state = query_parameters.get('State')

# Print city and state values
print('City:', city)
print('State:', state)

if not city or not state:
    return {
        'statusCode': 400,
        'body': 'City and State parameters are required.'
    }

当我执行以下代码时,代码将进入错误块,我将其视为输出

City and State parameters are required.

还有什么我可能错过的或者我在这里做错了什么吗?

python amazon-web-services aws-lambda aws-api-gateway
1个回答
0
投票

event
从API网关传递时,格式复杂。您必须检查并检查记录的事件格式,并根据该格式获取您的
city
state
。具体来说,它们可以在
pathParameters
中的
event
值下找到。

© www.soinside.com 2019 - 2024. All rights reserved.