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

编写NodeJS版食谱购买交易Lambda函数,如何访问参数及添加全局要求

访问{itemID, sellerID, buyerID}参数的实现方式

根据你的Lambda触发方式不同,参数获取逻辑有区别,最常见的两种场景如下:

  • API Gateway触发(前端/客户端调用场景)
    如果你是通过API Gateway接收交易请求,参数默认放在event.body字段中,JSON格式的请求体需要先解析再使用:
    exports.handler = async (event) => {
      // 解析JSON格式的请求体,application/json类型请求适用
      const { itemID, sellerID, buyerID } = JSON.parse(event.body);
      // 如果参数是放在URL查询参数里,用下面的写法
      // const { itemID, sellerID, buyerID } = event.queryStringParameters;
      // 如果参数是放在路径参数里,用下面的写法
      // const { itemID, sellerID, buyerID } = event.pathParameters;
      console.log('交易参数', {itemID, sellerID, buyerID});
      // 后续编写交易校验、扣款、库存扣减等业务逻辑
    }
    
  • 其他AWS服务直接调用(Step Function、SQS、其他Lambda调用场景)
    这种场景下参数会直接放在event根节点,直接解构即可:
    exports.handler = async (event) => {
      const { itemID, sellerID, buyerID } = event;
      // 直接使用参数即可
    }
    
添加全局依赖的方法

你说的Global requirements有两种通用实现方案:

  • 方案1:Lambda层(多函数共享依赖,全局复用首选)
    1. 本地新建名为nodejs的文件夹,进入文件夹执行npm init -y初始化项目,之后安装所有你需要的公共依赖,比如支付SDK、数据库驱动等
    2. 将整个nodejs文件夹压缩为zip包,注意zip的根目录必须是nodejs文件夹,不要嵌套额外外层目录
    3. 打开Lambda控制台左侧的「层」菜单,创建新层,上传刚才的zip包,选择你使用的NodeJS运行时版本
    4. 回到你的交易Lambda配置页,在「层」设置中添加刚创建的层,之后在函数代码里可以直接引入这些依赖,不需要每个函数单独打包
  • 方案2:直接打包进部署包(单函数使用场景)
    在你的函数代码根目录执行npm install 依赖名安装需要的依赖,之后把代码文件、package.json、node_modules文件夹一起打包成zip上传到Lambda即可,代码里可以直接引入使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 05:12:00