Aws lambda AWS CDK-无法增加Lambda超时

Aws lambda AWS CDK-无法增加Lambda超时,aws-lambda,aws-cdk,Aws Lambda,Aws Cdk,我的lambda函数需要更多的时间来执行,所以当我增加它时 const postReader_NewPost = new lambda.Function(this, 'PostReader_NewPost', { code: lambda.Code.fromAsset('lambda'), runtime: lambda.Runtime.PYTHON_2_7, handler: 'PostReader_NewPost.handler', t

我的lambda函数需要更多的时间来执行,所以当我增加它时

    const postReader_NewPost = new lambda.Function(this, 'PostReader_NewPost', {
      code: lambda.Code.fromAsset('lambda'),
      runtime: lambda.Runtime.PYTHON_2_7,
      handler: 'PostReader_NewPost.handler',
      timeout: Duration.seconds(300),
      description: "",
      environment: {
        "DB_TABLE_NAME": table.tableName,
        "SNS_TOPIC": topic.topicArn
      },
      role:role,
    });
我得到以下错误

Type 'import("c:/Users/myusername/Documents/GitHub/cdk_polly_website/node_modules/@aws-cdk/core/lib/duration").Duration' is not assignable to type 'import("c:/Users/myusername/Documents/GitHub/cdk_polly_website/node_modules/@aws-cdk/aws-dynamodb/node_modules/@aws-cdk/core/lib/duration").Duration'.
  Types have separate declarations of a private property 'amount'.ts(2322)
function.d.ts(68, 14): The expected type comes from property 'timeout' which is declared here on type 'FunctionProps'
我已经在班上宣布了

import { Duration } from '@aws-cdk/core';
My package.json具有以下依赖项

"dependencies": {
    "@aws-cdk/aws-apigateway": "^1.88.0",
    "@aws-cdk/aws-dynamodb": "^1.88.0",
    "@aws-cdk/aws-iam": "^1.88.0",
    "@aws-cdk/aws-lambda": "^1.88.0",
    "@aws-cdk/aws-lambda-event-sources": "^1.88.0",
    "@aws-cdk/aws-sns": "^1.88.0",
    "@aws-cdk/aws-sns-subscriptions": "^1.88.0",
    "@aws-cdk/core": "1.88.0",
    "source-map-support": "^0.5.16"
  }

谢谢你的帮助。谢谢

这种方式对我来说总是有效的:

导入核心,然后将持续时间用作核心。持续时间

我不确定这是否有帮助,但看起来您的核心导入是通过这种方式从aws dynamodb获取的


如果这解决了问题,我想调查原因。

通过npm ls,我发现我没有相同版本的不同aws cdk库

npm ls
cdk_polly_website@0.1.0 C:\Users\amuham210\Documents\GitHub\cdk_polly_website
+-- @aws-cdk/assert@1.88.0
+-- @aws-cdk/aws-apigateway@1.89.0
+-- @aws-cdk/aws-dynamodb@1.89.0
+-- @aws-cdk/aws-iam@1.89.0
+-- @aws-cdk/aws-lambda-event-sources@1.89.0
+-- @aws-cdk/aws-lambda@1.89.0
+-- @aws-cdk/aws-sns-subscriptions@1.89.0
+-- @aws-cdk/aws-sns@1.89.0
+-- @aws-cdk/core@1.88.0
+-- @types/jest@26.0.20
+-- @types/node@10.17.27
+-- aws-cdk@1.88.0
+-- jest@26.6.3
+-- source-map-support@0.5.19
+-- ts-jest@26.5.1
+-- ts-node@9.1.1
`-- typescript@3.9.9
所以我显式地安装了一个版本,使其保持相同

npm install @aws-cdk/core@1.89.0
这解决了问题。

从“@aws cdk/core”导入{Duration}

在api.constructs文件中添加超时变量

超时:持续时间。秒(30)