我正在为golang使用AWS CDK,并得到以下未定义的错误:
cd cdk && cdk deploy
# command-line-arguments
./ecs-run-task.go:54:22: undefined: autoscaling
./ecs-run-task.go:54:54: undefined: this
./ecs-run-task.go:54:81: undefined: autoScalingGroupProps
./ecs-run-task.go:62:69: undefined: cpuUtilizationScalingProps
./ecs-run-task.go:66:72: undefined: cpuUtilizationScalingProps
./ecs-run-task.go:70:22: undefined: ecs
./ecs-run-task.go:70:49: undefined: this
./ecs-run-task.go:70:92: undefined: asgCapacityProviderProps
./ecs-run-task.go:73:9: cluster.addAsgCapacityProvider undefined (type awsecs.Cluster has no field or method addAsgCapacityProvider, but does have AddAsgCapacityProvider)
./ecs-run-task.go:114:72: cannot refer to unexported name awsecs.taskDefinitionProps
./ecs-run-task.go:73:9: too many errors这些包裹是进口的:
"strings"
"github.com/aws/aws-cdk-go/awscdk"
"github.com/aws/aws-cdk-go/awscdk/awsec2"
"github.com/aws/aws-cdk-go/awscdk/awsecs"
"github.com/aws/aws-cdk-go/awscdk/awsiam"
"github.com/aws/aws-cdk-go/awscdk/awslambda"
"github.com/aws/aws-cdk-go/awscdk/awslambdaeventsources"
"github.com/aws/aws-cdk-go/awscdk/awslambdago"
"github.com/aws/aws-cdk-go/awscdk/awss3"
"github.com/aws/constructs-go/constructs/v3"
"github.com/aws/jsii-runtime-go"下面是我试图创建和附加自动缩放组的源代码:
// Create the cluster.
cluster := awsecs.NewCluster(stack, jsii.String("ecsCluster"), &awsecs.ClusterProps{
Vpc: vpc,
EnableFargateCapacityProviders: newTrue(),
})
//Creating auto scaling group to attach to cluster
autoScalingGroup := autoscaling.NewAutoScalingGroup(this, jsii.String("ASG"), &autoScalingGroupProps{
vpc: vpc,
instanceType: ec2.NewInstanceType(jsii.String("t2.micro")),
machineImage: ecs.ecsOptimizedImage.amazonLinux2(),
minCapacity: jsii.Number(0),
maxCapacity: jsii.Number(100),
})
autoScalingGroup.scaleOnCpuUtilization(jsii.String("CpuScaling"), &cpuUtilizationScalingProps{
targetUtilizationPercent: jsii.Number(90),
})
autoScalingGroup.scaleOnCpuUtilization(jsii.String("MemoryScaling"), &cpuUtilizationScalingProps{
targetUtilizationPercent: jsii.Number(90),
})
capacityProvider := ecs.NewAsgCapacityProvider(this, jsii.String("AsgCapacityProvider"), &asgCapacityProviderProps{
autoScalingGroup: autoScalingGroup,
})
cluster.addAsgCapacityProvider(capacityProvider)有人知道我需要导入什么或者做什么才能访问诸如自动标度之类的功能吗?AWS和这里的https://pkg.go.dev/github.com/aws/aws-cdk-go/awscdk/v2/awsautoscaling#section-readme上的cdk文档展示了所有这些工具的示例,没有任何问题,但是我没有任何运气,并且尝试了从cdk、v2和其他地方多次导入。
发布于 2022-07-05 08:23:48
导入"github.com/aws/aws-cdk-go/awscdk/awsapplicationautoscaling“的包
// AutoScaling based on memory and cpu usage
scalabletargetPub := pubService.AutoScaleTaskCount(&awsapplicationautoscaling.EnableScalingProps{
MinCapacity: &apps.ApplicationVpc.ECS.AppMktNodeCountMin,
MaxCapacity: &apps.ApplicationVpc.ECS.AppMktNodeCountMax,
})
scalabletargetPub.ScaleOnMemoryUtilization(jsii.String("Memory_threshold"), &ecs.MemoryUtilizationScalingProps{
TargetUtilizationPercent: &apps.ApplicationVpc.ECS.AppMemoryUtilizationThresholdPercent,
})
scalabletargetPub.ScaleOnCpuUtilization(jsii.String("Cpu_threshold"), &ecs.CpuUtilizationScalingProps{
TargetUtilizationPercent: &apps.ApplicationVpc.ECS.AppCPUUtilizationThresholdPercent,
})https://stackoverflow.com/questions/72581254
复制相似问题