gpt4 book ai didi

typescript - 类型 'this' 的参数不可分配给 AWS CDK 中类型 'Construct' 的参数

转载 作者:行者123 更新时间:2023-12-05 08:15:16 24 4
gpt4 key购买 nike

我在使用 CDK 时遇到问题,因为 this 属性出错并表示我无法将“this”分配给构造类型的参数。这发生在 const s3ListLambdaRole 部分开始,并使之后的每个新变量声明也因同样的事情而出错。

import * as sns from '@aws-cdk/aws-sns';
import * as subs from '@aws-cdk/aws-sns-subscriptions';
import * as sqs from '@aws-cdk/aws-sqs';
import * as cdk from '@aws-cdk/core';
import * as s3 from '@aws-cdk/aws-s3';
import * as lambda from '@aws-cdk/aws-lambda';
import * as path from 'path';
import { Bucket } from '@aws-cdk/aws-s3';
import * as iam from'@aws-cdk/aws-iam';


export class SecurityBaselineDevStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);

const testSecurityqueue = new sqs.Queue(this, 'testSecurityqueue', {
visibilityTimeout: cdk.Duration.seconds(300)
});

const testSecuritytopic = new sns.Topic(this, 'testSecuritytopic');

testSecuritytopic.addSubscription(new subs.SqsSubscription(testSecurityqueue));
//Creating lambda role below
const s3ListLambdaRole = new iam.Role(this, 's3ListLambdaRole', {
assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
});

s3ListLambdaRole.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSLambdaFullAccess')) //creates LambdaFullAccess Role

//Adding specific permissions to role now

s3ListLambdaRole.addToPolicy(new iam.PolicyStatement({
resources: ['*'], //adds full access to lamda
actions: ['s3']
}));

const s3ListLambda = new lambda.Function (this, 's3ListLambda', {
runtime: lambda.Runtime.PYTHON_3_6,
handler: 'listS3.handler',
role:s3ListLambdaRole,
code: lambda.Code.fromAsset(path.join(__dirname, '../lambda'))
});

const testSecurityBucket = new s3.Bucket(this, 'testSecurityBucket');






}

}

提前致谢!

最佳答案

当 CDK 依赖项的版本处于不同版本时会发生这种情况。确保 CDK 依赖项具有相同的版本。

  • 删除 node_modules 文件夹
  • 删除 package-lock.json
  • 确保 package.json 中的所有依赖项都使用相同的版本。
  • 删除依赖前的胡萝卜^符号
  • npm 安装

关于typescript - 类型 'this' 的参数不可分配给 AWS CDK 中类型 'Construct' 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63745383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com