gpt4 book ai didi

amazon-web-services - AWS Lambda 中的异步 HTTP 请求

转载 作者:行者123 更新时间:2023-12-03 16:41:06 24 4
gpt4 key购买 nike

我想在 API 网关调用的 lambda 函数内执行 http 请求。问题是,请求需要一些时间来完成(<20 秒)并且不希望客户端等待响应。在我对异步请求的研究中,我了解到我可以通过 X-Amz-Invocation-Type:Event使请求异步执行的 header ,但是这不起作用,代码仍然“等待”http 请求完成。

下面是我的 lambda 代码:

'use strict';

const https = require('https');

exports.handler = function (event, context, callback) {
let requestUrl;
requestUrl = event.queryStringParameters.url;

https.get(requestUrl, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);

res.on('data', (d) => {
process.stdout.write(d);
});
}).on('error', (e) => {
console.error(e);
});

let response = {
"statusCode": 200,
"body": JSON.stringify(event.queryStringParameters)
};
callback(null, response);
};

任何帮助,将不胜感激。

最佳答案

您可以使用两个 Lambda 函数。

Lambda 1 由 API Gateway 触发,然后异步调用 Lambda 2 ( InvocationType = Event ),然后向用户返回响应。

Lambda 2 一旦被调用,就会触发 HTTP 请求。

关于amazon-web-services - AWS Lambda 中的异步 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48348165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com