Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SDK为ecs服务的自动扩展策略设置最小和最大任务?_Java_Amazon Ec2_Aws Sdk_Amazon Ecs_Autoscaling - Fatal编程技术网

Java 如何使用SDK为ecs服务的自动扩展策略设置最小和最大任务?

Java 如何使用SDK为ecs服务的自动扩展策略设置最小和最大任务?,java,amazon-ec2,aws-sdk,amazon-ecs,autoscaling,Java,Amazon Ec2,Aws Sdk,Amazon Ecs,Autoscaling,我想利用AWS SDK为我的ECS服务的自动扩展策略设置和定义最小/最大任务 因此,我能够使用代码成功修改ECS容器实例的自动扩展组策略 UpdateAutoScalingGroupRequest=new UpdateAutoScalingGroupRequest()。使用AutoScalingGroupName(“helloWorld ASG”)。使用MinSize(1); UpdateAutoScalingGroupResponse=client.updateAutoScalingGroup

我想利用AWS SDK为我的ECS服务的自动扩展策略设置和定义最小/最大任务

因此,我能够使用代码成功修改ECS容器实例的自动扩展组策略

UpdateAutoScalingGroupRequest=new UpdateAutoScalingGroupRequest()。使用AutoScalingGroupName(“helloWorld ASG”)。使用MinSize(1);
UpdateAutoScalingGroupResponse=client.updateAutoScalingGroup(请求);
UpdateScalingPlanResult scalingResponse=scalingClient.updateScalingPlan(scalingRequest);
但是,对于我的ECS服务的自动扩展策略,我该如何做到这一点?
我需要上什么课才能做到这一点?有可能吗?

对于ECS服务自动扩展,请查看、和类,然后根据您首选的扩展策略,您将需要或类

请参见AWS Java SDK文档中的以下示例:

AWSApplicationAutoScaling client = AWSApplicationAutoScalingClientBuilder.standard().build();
PutScalingPolicyRequest request = new PutScalingPolicyRequest()
        .withPolicyName("web-app-cpu-gt-75")
        .withServiceNamespace("ecs")
        .withResourceId("service/default/web-app")
        .withScalableDimension("ecs:service:DesiredCount")
        .withPolicyType("StepScaling")
        .withStepScalingPolicyConfiguration(
                new StepScalingPolicyConfiguration().withAdjustmentType("PercentChangeInCapacity")
                        .withStepAdjustments(new StepAdjustment().withMetricIntervalLowerBound(0d).withScalingAdjustment(200)).withCooldown(60));
PutScalingPolicyResult response = client.putScalingPolicy(request);AWSApplicationAutoScaling client = AWSApplicationAutoScalingClientBuilder.standard().build();

我懂了。我正在查看文档,但找不到有关最小/最大任务的任何内容。我可以用UpdateServiceRequest设置desiredCount,但不能设置min/max任务。我认为问题在于我处于蓝色/绿色部署中,我在文档中很难找到为其设置min/max任务的位置。我查看了DeploymentConfiguration,但withMinimumHealthyPercent()函数似乎只用于滚动更新。目前正在研究CodeDeploy,因为这是使用B/G的地方,但到目前为止运气不佳。