You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AwsCustomResource如何设置Lambda运行时?nodejs12.x已不支持

解决AwsCustomResource默认Node.js 12.x运行时不支持的问题

在AWS CDK的AwsCustomResource构造参数中,你可以通过lambdaOptions属性指定Lambda函数的运行时版本,具体操作如下:

  • 在AwsCustomResource的配置对象中添加lambdaOptions字段,通过runtime指定AWS当前支持的Node.js版本(比如NODEJS_20_X、NODEJS_18_X)。
  • 确保使用的CDK版本支持该运行时,建议保持CDK为较新的稳定版本。

修改后的代码示例:

import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as cr from 'aws-cdk-lib/custom-resources';
import * as iam from 'aws-cdk-lib/aws-iam';

// 原sdkCall配置保持不变
const sdkCall: cr.AwsSdkCall = {
     service: 'KMS',
     action: 'replicateKey',
     physicalResourceId: cr.PhysicalResourceId.of('CustomResource::KeyReplicaCreation'),
     parameters: {
       KeyId: keyId,
       ReplicaRegion: replicaRegion
     }
   };

new cr.AwsCustomResource(this, `example replica`, {
  onCreate: sdkCall,
  onUpdate: sdkCall,
  policy: cr.AwsCustomResourcePolicy.fromStatements([
    new iam.PolicyStatement({
      effect: iam.Effect.ALLOW,
      actions: ['kms:*'],
      resources: ['*']
    })
  ]),
  // 添加Lambda运行时配置
  lambdaOptions: {
    runtime: lambda.Runtime.NODEJS_20_X
  }
});

注意事项:

  • 优先选择AWS处于**长期支持(LTS)**状态的Node.js版本,避免后续再次出现运行时不兼容问题。
  • 若你的CDK版本较旧,需先升级CDK到支持目标运行时的版本。

内容的提问来源于stack exchange,提问作者dead_webdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:09:59