【发布时间】:2022-07-28 18:34:04
【问题描述】:
我有两个lambda 函数。
现在我想为这两个使用一个 api。
那我的代码是这样的
const api = new apigateway.RestApi(this, 'ServerlessRestApi', {
restApiName: `AWSCDKTest-${systemEnv}`,
cloudWatchRole: false
});
api.root.addMethod('GET', new apigateway.LambdaIntegration(helloLambda));
api.root.addMethod('GET', new apigateway.LambdaIntegration(happyLambda));
它说GET 是双倍的。
所以我做了两个API
const api = new apigateway.RestApi(this, 'ServerlessRestApi_hello', {
restApiName: `AWSCDK-Viral-${systemEnv}`,
cloudWatchRole: false
});
api.root.addMethod('GET', new apigateway.LambdaIntegration(helloLambda));
const api2 = new apigateway.RestApi(this, 'ServerlessRestApi_happy', { cloudWatchRole: false });
api2.root.addMethod('GET', new apigateway.LambdaIntegration(happyLambda));
它可以工作,但它有两个 API。
将一个 API 用于两个 lambda 的最佳做法是什么?
【问题讨论】:
-
你能发布确切的错误信息吗?
-
我以前从未使用过 CDK,但我认为它与其他配置方法具有相同的结构。所以不要直接将方法添加到根资源,您应该创建2个资源(路径),然后将方法GET添加到每个资源,例如docs.aws.amazon.com/cdk/api/v1/docs/…。
标签: amazon-web-services aws-lambda aws-api-gateway aws-cdk