AWS CDK中的L1和L2构造函数是两种不同的抽象级别,提供了不同的方式来定义基础设施。这里给出了一些文档对比和使用说明,同时包含了基础的代码示例。
L1构造函数
L1构造函数提供了AWS CloudFormation的原生JSON或YAML格式的模板中使用的高度相似的标记方式来创建AWS基础设施。这些标记主要有以下几类:
以下是一个创建S3存储桶的L1构造函数示例代码:
const s3 = new S3();
const bucket = new Bucket(s3, 'MyBucket', {
versioned: true,
encryption: BucketEncryption.KMS_MANAGED
});
API Gateway的L2构造函数
相比于L1构造函数,L2构造函数提供了更抽象的AWS资源定义方式,以提高可重用性和易用性。L2构造函数将资源分解为抽象对象,使之更易于配置和管理。例如,API Gateway构造函数支持描述API端点和API等级方法的方法和资源抽象对象。
以下是一个创建API Gateway REST API的L2构造函数示例代码:
const restApi = new RestApi(this, 'MyRestApi', { description: 'This is my REST API for my application', });
const resource = restApi.root.addResource('myresource');
const method = new MockIntegration(); resource.addMethod('GET', method, { methodResponses: [{ statusCode: '200', responseParameters: { 'method.response.header.Content-Type': true, 'method.response.header.Access-Control-Allow-Origin': true, }, responseModels: { 'application/json': Model.EMPTY_MODEL }, }], });
需要注意的是,L2构造函数可以与L1构造函数混用,使得基础设施可以更
上一篇:AWSCDK单元测试无法模拟NetworkLoadBalancer资源。
下一篇:AWSCDKdeploy:requireargumentifthereismorethanasinglestack