首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang AWS CDK自动标度未定义类型

Golang AWS CDK自动标度未定义类型
EN

Stack Overflow用户
提问于 2022-06-11 02:11:30
回答 1查看 178关注 0票数 1

我正在为golang使用AWS CDK,并得到以下未定义的错误:

代码语言:javascript
复制
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

这些包裹是进口的:

代码语言:javascript
复制
"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"

下面是我试图创建和附加自动缩放组的源代码:

代码语言:javascript
复制
// 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和其他地方多次导入。

EN

回答 1

Stack Overflow用户

发布于 2022-07-05 08:23:48

导入"github.com/aws/aws-cdk-go/awscdk/awsapplicationautoscaling“的包

代码语言:javascript
复制
// 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,
        })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72581254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档