API AWS Lambda 超时?
API timeouts in AWS Lambda?
我正在尝试在 AWS 中创建一个 lambda 函数,它将创建一个新的 Stripe 令牌:
import stripePackage from 'stripe';
const stripe = stripePackage('...');
module.exports.create = (event, context, callback) => {
stripe.tokens.create({
card: {
"number": 4242424242424242,
"exp_month": '02',
"exp_year": '22',
"cvc": '123'
}
}, (err, token) => {
if (err) {
console.log(err);
callback(null, {
statusCode: 400,
body: "error"
});
}
callback(null, {
statusCode: 200,
body: "ok"
});
console.log(token);
});
}
但是,每次都会超时。我有一个用于出站连接的安全组,如下所示:
Ports Destination
All 0.0.0.0/0
然而,我似乎唯一能够连接到的是其他 AWS 服务。如何打开我的 Lambda 函数以连接到 AWS 外部?
您需要从 VPC 中删除 Lambda 函数(如果它不需要 VPC 资源访问权限,那么将其添加到 VPC 无论如何只会引入性能问题),或者您需要确保 Lambda 函数在您的 VPC 的私有子网,并且该子网具有到 NAT 网关的路由。
我正在尝试在 AWS 中创建一个 lambda 函数,它将创建一个新的 Stripe 令牌:
import stripePackage from 'stripe';
const stripe = stripePackage('...');
module.exports.create = (event, context, callback) => {
stripe.tokens.create({
card: {
"number": 4242424242424242,
"exp_month": '02',
"exp_year": '22',
"cvc": '123'
}
}, (err, token) => {
if (err) {
console.log(err);
callback(null, {
statusCode: 400,
body: "error"
});
}
callback(null, {
statusCode: 200,
body: "ok"
});
console.log(token);
});
}
但是,每次都会超时。我有一个用于出站连接的安全组,如下所示:
Ports Destination
All 0.0.0.0/0
然而,我似乎唯一能够连接到的是其他 AWS 服务。如何打开我的 Lambda 函数以连接到 AWS 外部?
您需要从 VPC 中删除 Lambda 函数(如果它不需要 VPC 资源访问权限,那么将其添加到 VPC 无论如何只会引入性能问题),或者您需要确保 Lambda 函数在您的 VPC 的私有子网,并且该子网具有到 NAT 网关的路由。