Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare UpdateAutoScalingGroup
con un AWS SDK o CLI
I seguenti esempi di codice mostrano come utilizzareUpdateAutoScalingGroup
.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nei seguenti esempi di codice:
- .NET
-
- AWS SDK for .NET
-
Nota
C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. /// <summary> /// Update the capacity of an Auto Scaling group. /// </summary> /// <param name="groupName">The name of the Auto Scaling group.</param> /// <param name="launchTemplateName">The name of the EC2 launch template.</param> /// <param name="maxSize">The maximum number of instances that can be /// created for the Auto Scaling group.</param> /// <returns>A Boolean value indicating the success of the action.</returns> public async Task<bool> UpdateAutoScalingGroupAsync( string groupName, string launchTemplateName, int maxSize) { var templateSpecification = new LaunchTemplateSpecification { LaunchTemplateName = launchTemplateName, }; var groupRequest = new UpdateAutoScalingGroupRequest { MaxSize = maxSize, AutoScalingGroupName = groupName, LaunchTemplate = templateSpecification, }; var response = await _amazonAutoScaling.UpdateAutoScalingGroupAsync(groupRequest); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { Console.WriteLine($"You successfully updated the Auto Scaling group {groupName}."); return true; } else { return false; } }
-
Per API i dettagli, vedi UpdateAutoScalingGroup AWS SDK for .NETAPIReference.
-
- C++
-
- SDKper C++
-
Nota
C'è altro su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. Aws::Client::ClientConfiguration clientConfig; // Optional: Set to the AWS Region (overrides config file). // clientConfig.region = "us-east-1"; Aws::AutoScaling::AutoScalingClient autoScalingClient(clientConfig); Aws::AutoScaling::Model::UpdateAutoScalingGroupRequest request; request.SetAutoScalingGroupName(groupName); request.SetMaxSize(3); Aws::AutoScaling::Model::UpdateAutoScalingGroupOutcome outcome = autoScalingClient.UpdateAutoScalingGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Error with AutoScaling::UpdateAutoScalingGroup. " << outcome.GetError().GetMessage() << std::endl; }
-
Per API i dettagli, vedi UpdateAutoScalingGroup AWS SDK for C++APIReference.
-
- CLI
-
- AWS CLI
-
Esempio 1: Per aggiornare i limiti di dimensione di un gruppo di Auto Scaling
Questo esempio aggiorna il gruppo Auto Scaling specificato con una dimensione minima di 2 e una dimensione massima di 10.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --min-size2
\ --max-size10
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Impostazione dei limiti di capacità per il tuo gruppo Auto Scaling nella Amazon Auto EC2 Scaling User Guide.
Esempio 2: aggiungere i controlli di integrità di Elastic Load Balancing e specificare quali zone di disponibilità e sottoreti utilizzare
Questo esempio aggiorna il gruppo Auto Scaling specificato per aggiungere i controlli di integrità Elastic Load Balancing. Questo comando aggiorna anche il valore di
--vpc-zone-identifier
con un elenco di sottoreti IDs in più zone di disponibilità.aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --health-check-typeELB
\ --health-check-grace-period600
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Elastic Load Balancing e Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.
Esempio 3: per aggiornare il gruppo di collocamento e la politica di cessazione
Questo esempio aggiorna il gruppo di collocamento e la politica di licenziamento da utilizzare.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --placement-groupmy-placement-group
\ --termination-policies"OldestInstance"
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta i gruppi Auto Scaling nella Amazon Auto EC2 Scaling User Guide.
Esempio 4: per utilizzare la versione più recente del modello di lancio
Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare la versione più recente del modello di avvio specificato.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Launch templates nella Amazon EC2 Auto Scaling User Guide.
Esempio 5: per utilizzare una versione specifica del modello di lancio
Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare una versione specifica di un modello di avvio anziché la versione più recente o predefinita.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Launch templates nella Amazon EC2 Auto Scaling User Guide.
Esempio 6: definire una politica a istanze miste e abilitare il ribilanciamento della capacità
Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare una politica di istanze miste e consente il ribilanciamento della capacità. Questa struttura consente di specificare gruppi con capacità Spot e On-Demand e utilizzare modelli di avvio diversi per architetture diverse.
aws autoscaling update-auto-scaling-group \ --cli-input-json
file://~/config.json
Contenuto di
config.json
.{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta i gruppi di Auto Scaling con più tipi di istanze e opzioni di acquisto nella Amazon Auto EC2 Scaling User Guide.
-
Per API i dettagli, consulta AWS CLI Command UpdateAutoScalingGroup
Reference.
-
- Java
-
- SDKper Java 2.x
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. public static void updateAutoScalingGroup(AutoScalingClient autoScalingClient, String groupName, String launchTemplateName) { try { AutoScalingWaiter waiter = autoScalingClient.waiter(); LaunchTemplateSpecification templateSpecification = LaunchTemplateSpecification.builder() .launchTemplateName(launchTemplateName) .build(); UpdateAutoScalingGroupRequest groupRequest = UpdateAutoScalingGroupRequest.builder() .maxSize(3) .autoScalingGroupName(groupName) .launchTemplate(templateSpecification) .build(); autoScalingClient.updateAutoScalingGroup(groupRequest); DescribeAutoScalingGroupsRequest groupsRequest = DescribeAutoScalingGroupsRequest.builder() .autoScalingGroupNames(groupName) .build(); WaiterResponse<DescribeAutoScalingGroupsResponse> waiterResponse = waiter .waitUntilGroupInService(groupsRequest); waiterResponse.matched().response().ifPresent(System.out::println); System.out.println("You successfully updated the auto scaling group " + groupName); } catch (AutoScalingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
-
Per API i dettagli, vedi UpdateAutoScalingGroup AWS SDK for Java 2.xAPIReference.
-
- Kotlin
-
- SDKper Kotlin
-
Nota
c'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. suspend fun updateAutoScalingGroup( groupName: String, launchTemplateNameVal: String, serviceLinkedRoleARNVal: String, ) { val templateSpecification = LaunchTemplateSpecification { launchTemplateName = launchTemplateNameVal } val groupRequest = UpdateAutoScalingGroupRequest { maxSize = 3 serviceLinkedRoleArn = serviceLinkedRoleARNVal autoScalingGroupName = groupName launchTemplate = templateSpecification } val groupsRequestWaiter = DescribeAutoScalingGroupsRequest { autoScalingGroupNames = listOf(groupName) } AutoScalingClient { region = "us-east-1" }.use { autoScalingClient -> autoScalingClient.updateAutoScalingGroup(groupRequest) autoScalingClient.waitUntilGroupExists(groupsRequestWaiter) println("You successfully updated the Auto Scaling group $groupName") } }
-
Per API i dettagli, vedi il riferimento UpdateAutoScalingGroup AWS
SDKa Kotlin API.
-
- PHP
-
- SDK per PHP
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. public function updateAutoScalingGroup($autoScalingGroupName, $args) { if (array_key_exists('MaxSize', $args)) { $maxSize = ['MaxSize' => $args['MaxSize']]; } else { $maxSize = []; } if (array_key_exists('MinSize', $args)) { $minSize = ['MinSize' => $args['MinSize']]; } else { $minSize = []; } $parameters = ['AutoScalingGroupName' => $autoScalingGroupName]; $parameters = array_merge($parameters, $minSize, $maxSize); return $this->autoScalingClient->updateAutoScalingGroup($parameters); }
-
Per API i dettagli, vedi UpdateAutoScalingGroup AWS SDK for PHPAPIReference.
-
- PowerShell
-
- Strumenti per PowerShell
-
Esempio 1: Questo esempio aggiorna la dimensione minima e massima del gruppo Auto Scaling specificato.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -MaxSize 5 -MinSize 1
Esempio 2: questo esempio aggiorna il periodo di cooldown predefinito del gruppo Auto Scaling specificato.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -DefaultCooldown 10
Esempio 3: questo esempio aggiorna le zone di disponibilità del gruppo Auto Scaling specificato.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -AvailabilityZone @("us-west-2a", "us-west-2b")
Esempio 4: questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare i controlli di integrità Elastic Load Balancing.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -HealthCheckType ELB -HealthCheckGracePeriod 60
-
Per API i dettagli, vedere UpdateAutoScalingGroupin AWS Tools for PowerShell Cmdlet Reference.
-
- Python
-
- SDKper Python (Boto3)
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. class AutoScalingWrapper: """Encapsulates Amazon EC2 Auto Scaling actions.""" def __init__(self, autoscaling_client): """ :param autoscaling_client: A Boto3 Amazon EC2 Auto Scaling client. """ self.autoscaling_client = autoscaling_client def update_group(self, group_name: str, **kwargs: Any) -> None: """ Updates an Auto Scaling group. :param group_name: The name of the group to update. :param kwargs: Keyword arguments to pass through to the service. :return: None :raises ClientError: If there is an error updating the Auto Scaling group. """ try: self.autoscaling_client.update_auto_scaling_group( AutoScalingGroupName=group_name, **kwargs ) logger.info(f"Successfully updated Auto Scaling group {group_name}.") except ClientError as err: error_code = err.response["Error"]["Code"] logger.error(f"Failed to update Auto Scaling group {group_name}.") if error_code == "ResourceInUse": logger.error( "The Auto Scaling group '%s' is currently in use and cannot be modified. Please try again later.", group_name, ) elif error_code == "ScalingActivityInProgress": logger.error( f"A scaling activity is currently in progress for the Auto Scaling group '{group_name}'." "Please wait for the activity to complete before attempting to update the group." ) logger.error(f"Full error:\n\t{err}") raise
-
Per API i dettagli, vedere UpdateAutoScalingGroupPython (Boto3) Reference.AWS SDK API
-
- Rust
-
- SDKper Rust
-
Nota
c'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. async fn update_group(client: &Client, name: &str, size: i32) -> Result<(), Error> { client .update_auto_scaling_group() .auto_scaling_group_name(name) .max_size(size) .send() .await?; println!("Updated AutoScaling group"); Ok(()) }
-
Per API i dettagli, UpdateAutoScalingGroup
consulta AWS SDKRust API Reference.
-