You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda与API Gateway集成:如何获取API名称及HTTP请求类型

解答:Lambda通过API Gateway触发时获取API信息与请求详情

嘿,这个问题我太熟了!完全不用手动在请求体里传API名称——API Gateway会自动把这些关键信息打包进Lambda的event参数里,你直接读取就行,不需要额外配置。下面给你拆解怎么拿到你要的这些数据:

1. 获取HTTP请求方法(GET/POST等)

请求方法直接存在event的requestContext.http.method字段里,比如:

def test(event, context):
    # 获取HTTP方法
    http_method = event['requestContext']['http']['method']
    print(f"当前请求方法:{http_method}")
    # 后续逻辑...

2. 获取当前调用的API相关信息

API Gateway会把API的路径、ID等信息都塞进event里,常用的字段有:

  • event['rawPath']:完整的请求路径(比如/app/api/getInfo),这个足够区分不同的API端点
  • event['requestContext']['apiId']:你在API Gateway里创建的API的唯一ID
  • 如果需要自定义的API名称(比如你给API取的别名),可以在API Gateway的集成请求里添加自定义头部,或者用阶段变量,不过大多数场景下用路径就足够区分了

举个例子:

def test(event, context):
    # 获取请求路径
    api_path = event['rawPath']
    print(f"当前调用的API路径:{api_path}")
    # 获取API ID
    api_id = event['requestContext']['apiId']
    print(f"API Gateway的API ID:{api_id}")
    # 后续逻辑...

3. 获取请求参数

GET请求的查询参数

像你例子里的key=foobar这种查询参数,存在event['queryStringParameters']里,直接读取即可:

def test(event, context):
    # 获取查询参数
    query_params = event.get('queryStringParameters', {})
    key_value = query_params.get('key')
    print(f"查询参数key的值:{key_value}")
    # 后续逻辑...

POST请求的请求体

如果是POST的JSON请求体,会存在event['body']里,不过需要先解析成字典:

import json

def test(event, context):
    # 解析POST请求体
    body = json.loads(event.get('body', '{}'))
    # 读取body里的参数
    # 后续逻辑...

完整示例代码

把上面的内容整合起来,一个完整的Lambda函数示例:

import json

def test(event, context):
    # 获取HTTP方法
    http_method = event['requestContext']['http']['method']
    # 获取API路径
    api_path = event['rawPath']
    # 获取查询参数
    query_params = event.get('queryStringParameters', {})
    key_value = query_params.get('key')
    
    # 构造响应
    response = {
        "statusCode": 200,
        "body": json.dumps({
            "http_method": http_method,
            "api_path": api_path,
            "key_parameter": key_value
        })
    }
    return response

这样你就能轻松拿到所有需要的信息啦,完全不用额外传参~

内容的提问来源于stack exchange,提问作者Ludo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:23:49