【发布时间】:2022-02-08 00:25:42
【问题描述】:
我正在创建一个LambdaRestApi,如下所示
this.gateway = new apigw.LambdaRestApi(this, "Endpoint", {
handler: hello,
endpointExportName: "MainURL"
})
我想访问它生成的CfnOutput,这可能吗?我想将它传递给其他函数,并且我想避免创建一个新函数。
我正在处理的具体情况是这样的:我有一个后期阶段,它使用CfnOutput 验证事情是否正常工作:
deployStage.addPost(
new CodeBuildStep("VerifyAPIGatewayEndpoint", {
envFromCfnOutputs: {
ENDPOINT_URL: deploy.hcEndpoint
},
commands: [
"curl -Ssf $ENDPOINT_URL",
"curl -Ssf $ENDPOINT_URL/hello",
"curl -Ssf $ENDPOINT_URL/test"
]
})
)
deploy.hcEndpoint 是我在创建 LambdaRestApi 后手动创建的 CfnOutput:
const gateway = new LambdaRestApi(this, "Endpoint", {handler: hello})
this.hcEndpoint = new CfnOutput(this, "GatewayUrl", {value: gateway.url})
然后确保每个构造都对其父级可用。
在部署后步骤中使用CfnOutputs 是有意义的。我正在努力学习正确的做事方式,并且也有干净的堆栈。只有一个 Lambda 函数没什么大不了的,但如果有几十个或几百个函数,它可能会。而且由于 LambdaRestApi 已经创建了输出,所以感觉就像我在重复自己创建一个相同的输出一样。
【问题讨论】:
标签: amazon-web-services aws-cdk