end*_*ama 7 amazon-web-services aws-api-gateway aws-cdk
我正在尝试将 HttpApi 添加到已使用 CDK v2 的项目中。我可以从以下位置检索 HttpApi 类@aws-cdk/aws-apigatewayv2:
https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apigatewayv2.HttpApi.html
但我无法检索新 v2aws-cdk-lib模块中的构造:
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2-readme.html
v2 中的包已移动吗?
另外,HttpApi 和这个https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sam.CfnHttpApi.html有什么区别?
谢谢 :)
CDK v2 的 L2HttpApi构造位于@aws-cdk/aws-apigatewayv2-alpha. 在 CDK V2 中,实验模块在单独的“alpha”包中发布。
CfnHttpApi是表示CloudFormation资源的L1 构造。在引擎盖下,有一个作为子节点。 - 前缀的结构被发布,因为它们是稳定的。 AWS::ApiGatewayV2::ApiHttpApiCfnHttpApiCfnaws-cdk-lib
在这里可以找到构造:
| 包裹 | CDK版本 | 结构体 |
|---|---|---|
| aws-cdk-lib | v2 | CfnHttpApi(L1,稳定) |
| @aws-cdk/aws-apigatewayv2-alpha | v2 | HttpApi(L2,实验) |
| @aws-cdk/aws-apigatewayv2 | v1 | HttpApi(L2,实验),CfnHttpApi(L1,稳定) |
实验性构造在单独的、独立版本控制的包中提供,其名称以 alpha 结尾,并且 alpha 版本号对应于与其兼容的 aws-cdk-lib 的第一个版本。
由于 HttpApi 构造被认为是实验性的,因此它已被移至单独的包中:
CfnHttpApi 文档(非实验性)
CfnApi 文档(非实验性)
HttpApi 文档(实验)
CfnHttpApi 和 CfnApi 是 L1 构造,这意味着它们直接转换为单个 CloudFormation 资源块。HttpApi 是一种 L2 构造,通常更复杂,可以转换为一个或多个 CloudFormation 资源块。此关于构造的 CDK 开发人员指南页面提供了有关 L1 和 L2 构造如何工作的更多详细信息。
CfnHttpApi 和 CfnApi 都是创建 HTTP API 的 CloudFormation 资源类型,但 CfnHttpApi 是CfnApi 的AWS SAM版本。引用此页面,AWS SAM 模板是 AWS CloudFormation 模板的扩展,带有一些额外的组件,使它们更易于使用。