核心模块
所有类别都在积极开发中,在任何类别中都需进行非后向相容修改或去除 未来版本. 这些限制不受《公约》的约束 语义版本 型号. 这意味着虽然您可能使用它们,但在升级到此软件包的更新版本时可能需要更新您的源代码.
| 参考文件数字 : | https://docs.aws.amazon.com/olutions/latest/constructioncts/ 互联网档案馆的存檔,存档日期2013-12-21 |
|---|---|
核心库包括AWS解决方案建构库的基本构件. 它定义了AWS Solutions Constructions库其余部分使用的核心类.
注意: 核心库中的函数不是“ 解决方案构建” 已发布的界面的一部分 。 虽然它们没有被隐藏,但直接使用它们会导致在Major发行范围之外突破变化. 由于许多用户都表示有兴趣访问这一功能,我们正在通过生产个人设计良好的资源的工厂来揭露这一功能。 根据
aws-constructs-factories。 。 。 .
AWS CDK 构造的默认属性
Core 库为 AWS 解决方案 Constructions 库构造所使用的 AWS CDK 构造设置默认属性.
例如,下面是AWS Solutions Constructions创建的S3 Bucket构造默认属性的片段. 默认情况下,它将打开服务器侧加密,桶版,屏蔽所有公共访问,并设置S3访问日志.
{
encryption: s3.BucketEncryption.S3_MANAGED,
versioned: true,
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
removalPolicy: RemovalPolicy.RETAIN,
serverAccessLogsBucket: loggingBucket
}
覆盖默认属性
Core 库设置的默认属性会被用户提供的属性所覆盖. 例如,用户可以超过亚马逊S3 Block公共访问属性以满足特定要求.
const stack = new cdk.Stack();
const props: CloudFrontToS3Props = {
bucketProps: {
blockPublicAccess: {
blockPublicAcls: false,
blockPublicPolicy: true,
ignorePublicAcls: false,
restrictPublicBuckets: true
}
}
};
new CloudFrontToS3(stack, 'test-cloudfront-s3', props);
expect(stack).toHaveResource("AWS::S3::Bucket", {
PublicAccessBlockConfiguration: {
BlockPublicAcls: false,
BlockPublicPolicy: true,
IgnorePublicAcls: false,
RestrictPublicBuckets: true
},
});
属性覆盖警告
当来自 Core 库的默认属性被用户提供的属性所覆盖时, Constructions 会向控制台发出一个或多个提醒消息来突出变化. 这些信息旨在向用户提供情况意识,并预防可能造成安全风险的无意的超越。 当部署/建设相关命令执行时,包括 cdk deploy, (中文(简体) ), cdk synth, (中文(简体) ), npm test等 (中文(简体) ).
示例消息:
AWS_CONSTRUCTS_WARNING: An override has been provided for the property: BillingMode. Default value: 'PAY_PER_REQUEST'. You provided: 'PROVISIONED'.
覆盖警告
默认启用了覆盖警告消息,但可以使用 overrideWarningsEnabled 外壳变量.
- 明确 关机 覆盖警告, 运行
export overrideWarningsEnabled=false。 。 。 . - 明确 打开 覆盖警告, 运行
export overrideWarningsEnabled=true。 。 。 . - 返回默认值, 运行
unset overrideWarningsEnabled。 。 。 .