@aws-solutions-constructs/core

中文文档
2.106.0发布于 2026/11/06Apache-2.0TypeScriptCommonJS近 30 天下载 36.6万

核心光盘 模式库的构造

中文使用文档
文档目录3 节
  1. AWS CDK 构造的默认属性
  2. 覆盖默认属性
  3. 属性覆盖警告

核心模块


Stability: Experimental

所有类别都在积极开发中,在任何类别中都需进行非后向相容修改或去除 未来版本. 这些限制不受《公约》的约束 语义版本 型号. 这意味着虽然您可能使用它们,但在升级到此软件包的更新版本时可能需要更新您的源代码.


参考文件数字 :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。 。 。 .

版本与发布记录

@aws-solutions-constructs/core 共发布 280 个版本,首次发布于 2020/06/23;过去 12 个月发布了 14 个版本。

版本发布日期距今
2.106.0latest2026/11/061 天前
2.105.02026/10/0830 天前
2.104.02026/08/312 个月前
2.103.02026/07/024 个月前
2.102.02026/05/165 个月前
2.101.02026/04/077 个月前

其他发布通道:v1-latest → 1.181.1。

关于 @aws-solutions-constructs/core 的常见问题

@aws-solutions-constructs/core 是什么?

核心光盘 模式库的构造

如何安装 @aws-solutions-constructs/core?

在项目目录运行 npm install @aws-solutions-constructs/core,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:constructs(^10.0.0)、aws-cdk-lib(^2.260.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aws-solutions-constructs/core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aws-solutions-constructs/core 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@aws-solutions-constructs/core 可以商用吗?

@aws-solutions-constructs/core 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aws-solutions-constructs/core 的下载量有多少?

根据 npm 官方下载统计,@aws-solutions-constructs/core 在 2026/10/08 – 2026/11/06 这 30 天内被下载 366,218 次,日均约 12,207 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aws-solutions-constructs/core 还在维护吗?

最新版本 2.106.0 发布于 2026/11/06(1 天前);至今共发布 280 个版本,其中过去 12 个月发布了 14 个;首次发布于 2020/06/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。