Serverless Framework v3 自定义资源现有杯函数 Node16 已弃用

问题描述 投票:0回答:1

我正在使用 Serverless Framework (v3) 和 Node.js (v18)。如果 Cognito 自定义触发器 lambda 函数中添加了这一行,它会自动创建一个 lambda 函数 (custom-resource-existing-cup)。

existing: true

没关系,但问题是这个 lambda 函数使用的是 Node 16,即使我使用 Node 18。

我尝试更改此自定义 lambda 函数的 Node.js 版本,但我做不到,因为它是由无服务器框架自动生成的。 有办法解决这个问题吗?因为它很快就要弃用了。

node.js amazon-web-services amazon-cognito serverless serverless-framework
1个回答
0
投票

自定义资源的 Lambda 函数具有 Nodejs16 运行时硬编码。 https://github.com/serverless/serverless/blob/d0e3056b77ba295adb87ceeca9a49a26b315f083/lib/plugins/aws/custom-resources/index.js#L165-L179

const customResourceFunction = { 
   Type: 'AWS::Lambda::Function', 
   Properties: { 
     Code: { 
       S3Bucket, 
       S3Key, 
     }, 
     FunctionName: absoluteFunctionName, 
     Handler, 
     MemorySize: 1024, 
     Runtime: 'nodejs16.x', 
     Timeout: 180, 
   }, 
   DependsOn: [], 
 }; 

我尝试编辑node_modules作为此链接,效果很好。

https://github.com/serverless/serverless/issues/12133#issuecomment-1958961198

© www.soinside.com 2019 - 2024. All rights reserved.