开发者社区 > 云原生 > Serverless > 正文

函数计算中,怎么拿到 RequestID 放到响应体里返回呢?

函数计算中,怎么拿到 RequestID 放到响应体里返回呢?
app.post("/xxx",(req, res) => {}
nodejs 云函数

展开
收起
多麻辣哦 2024-01-17 13:33:19 27 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在函数计算中,可以通过以下方式获取 RequestID 并将其放入响应体中返回:

    const AWS = require('aws-sdk');
    const lambda = new AWS.Lambda();
    
    app.post("/xxx", async (req, res) => {
        try {
            const requestId = req.headers['x-lambda-request-id']; // 从请求头中获取 RequestID
            const response = await lambda.invoke({ FunctionName: 'your_function_name', Payload: JSON.stringify(req.body) }, (err, data) => {
                if (err) {
                    console.error(err);
                    res.status(500).send({ error: 'Error invoking function' });
                } else {
                    // 将 RequestID 放入响应体中返回
                    res.json({ ...JSON.parse(data.Payload), requestId });
                }
            });
        } catch (error) {
            console.error(error);
            res.status(500).send({ error: 'Error processing request' });
        }
    });
    

    上述代码中,我们使用 req.headers['x-lambda-request-id'] 从请求头中获取 RequestID。然后,通过调用 lambda.invoke 方法来执行目标函数,并将 RequestID 放入响应体中返回。请确保替换 'your_function_name' 为目标函数的名称。

    2024-01-17 15:36:24
    赞同 展开评论 打赏
  • req.headers['x-fc-request-id'] || uuidv4();
    ——此回答整理自钉群:阿里函数计算官网客户

    2024-01-17 14:58:16
    赞同 展开评论 打赏
问答标签:
问答地址:
相关产品:

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载