Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use DescribeAutoScalingGroups
com um AWS SDK ou CLI
Os exemplos de código a seguir mostram como usar o DescribeAutoScalingGroups
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto nos seguintes exemplos de código:
- .NET
-
- AWS SDK for .NET
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. /// <summary> /// Get data about the instances in an Amazon EC2 Auto Scaling group. /// </summary> /// <param name="groupName">The name of the Amazon EC2 Auto Scaling group.</param> /// <returns>A list of Amazon EC2 Auto Scaling details.</returns> public async Task<List<AutoScalingInstanceDetails>> DescribeAutoScalingInstancesAsync( string groupName) { var groups = await DescribeAutoScalingGroupsAsync(groupName); var instanceIds = new List<string>(); groups!.ForEach(group => { if (group.AutoScalingGroupName == groupName) { group.Instances.ForEach(instance => { instanceIds.Add(instance.InstanceId); }); } }); var scalingGroupsRequest = new DescribeAutoScalingInstancesRequest { MaxRecords = 10, InstanceIds = instanceIds, }; var response = await _amazonAutoScaling.DescribeAutoScalingInstancesAsync(scalingGroupsRequest); var instanceDetails = response.AutoScalingInstances; return instanceDetails; }
-
Para API obter detalhes, consulte DescribeAutoScalingGroupsem AWS SDK for .NET APIReferência.
-
- C++
-
- SDKpara C++
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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::DescribeAutoScalingGroupsRequest request; Aws::Vector<Aws::String> groupNames; groupNames.push_back(groupName); request.SetAutoScalingGroupNames(groupNames); Aws::AutoScaling::Model::DescribeAutoScalingGroupsOutcome outcome = client.DescribeAutoScalingGroups(request); if (outcome.IsSuccess()) { autoScalingGroup = outcome.GetResult().GetAutoScalingGroups(); } else { std::cerr << "Error with AutoScaling::DescribeAutoScalingGroups. " << outcome.GetError().GetMessage() << std::endl; }
-
Para API obter detalhes, consulte DescribeAutoScalingGroupsem AWS SDK for C++ APIReferência.
-
- CLI
-
- AWS CLI
-
Exemplo 1: como descrever o grupo do Auto Scaling especificado
Este exemplo descreve o grupo do Auto Scaling especificado.
aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-name
my-asg
Saída:
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }
Exemplo 2: como descrever os primeiros 100 grupos do Auto Scaling especificados
Este exemplo descreve os grupos do Auto Scaling especificados. Ele permite especificar até cem nomes de grupos.
aws autoscaling describe-auto-scaling-groups \ --max-items
100
\ --auto-scaling-group-name"group1"
"group2"
"group3"
"group4"
Consulte um exemplo de saída no exemplo 1.
Exemplo 3: como descrever um grupo do Auto Scaling na região especificada
Este exemplo descreve até 75 grupos do Auto Scaling na região especificada.
aws autoscaling describe-auto-scaling-groups \ --max-items
75
\ --regionus-east-1
Consulte um exemplo de saída no exemplo 1.
Exemplo 4: como descrever o número especificado do grupo do Auto Scaling
Use a opção
--max-items
para retornar um número específico de grupos do Auto Scaling.aws autoscaling describe-auto-scaling-groups \ --max-items
1
Consulte um exemplo de saída no exemplo 1.
Se a saída incluir um campo
NextToken
, há mais grupos. Para obter os grupos adicionais, use o valor desse campo com a opção--starting-token
em uma chamada subsequente da seguinte maneira.aws autoscaling describe-auto-scaling-groups \ --starting-token
Z3M3LMPEXAMPLE
Consulte um exemplo de saída no exemplo 1.
Exemplo 5: Para descrever grupos de Auto Scaling que usam configurações de inicialização
Este exemplo usa a
--query
opção para descrever grupos de Auto Scaling que usam configurações de inicialização.aws autoscaling describe-auto-scaling-groups \ --query '
AutoScalingGroups[?LaunchConfigurationName!=`null`]
'Saída:
[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]
Para obter mais informações, consulte AWS CLISaída do filtro no Guia do usuário da interface de linha de AWS comando.
-
Para API obter detalhes, consulte DescribeAutoScalingGroups
na Referência de AWS CLI Comandos.
-
- Java
-
- SDKpara Java 2.x
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.autoscaling.AutoScalingClient; import software.amazon.awssdk.services.autoscaling.model.AutoScalingException; import software.amazon.awssdk.services.autoscaling.model.AutoScalingGroup; import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsResponse; import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsRequest; import software.amazon.awssdk.services.autoscaling.model.Instance; import java.util.List; /** * Before running this SDK for Java (v2) code example, set up your development * environment, including your credentials. * * For more information, see the following documentation: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeAutoScalingInstances { public static void main(String[] args) { final String usage = """ Usage: <groupName> Where: groupName - The name of the Auto Scaling group. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String groupName = args[0]; AutoScalingClient autoScalingClient = AutoScalingClient.builder() .region(Region.US_EAST_1) .build(); String instanceId = getAutoScaling(autoScalingClient, groupName); System.out.println(instanceId); autoScalingClient.close(); } public static String getAutoScaling(AutoScalingClient autoScalingClient, String groupName) { try { String instanceId = ""; DescribeAutoScalingGroupsRequest scalingGroupsRequest = DescribeAutoScalingGroupsRequest.builder() .autoScalingGroupNames(groupName) .build(); DescribeAutoScalingGroupsResponse response = autoScalingClient .describeAutoScalingGroups(scalingGroupsRequest); List<AutoScalingGroup> groups = response.autoScalingGroups(); for (AutoScalingGroup group : groups) { System.out.println("The group name is " + group.autoScalingGroupName()); System.out.println("The group ARN is " + group.autoScalingGroupARN()); List<Instance> instances = group.instances(); for (Instance instance : instances) { instanceId = instance.instanceId(); } } return instanceId; } catch (AutoScalingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; } }
-
Para API obter detalhes, consulte DescribeAutoScalingGroupsem AWS SDK for Java 2.x APIReferência.
-
- Kotlin
-
- SDKpara Kotlin
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. suspend fun getAutoScalingGroups(groupName: String) { val scalingGroupsRequest = DescribeAutoScalingGroupsRequest { autoScalingGroupNames = listOf(groupName) } AutoScalingClient { region = "us-east-1" }.use { autoScalingClient -> val response = autoScalingClient.describeAutoScalingGroups(scalingGroupsRequest) response.autoScalingGroups?.forEach { group -> println("The group name is ${group.autoScalingGroupName}") println("The group ARN is ${group.autoScalingGroupArn}") group.instances?.forEach { instance -> println("The instance id is ${instance.instanceId}") println("The lifecycle state is " + instance.lifecycleState) } } } }
-
Para API obter detalhes, consulte a DescribeAutoScalingGroups
referência AWS SDKdo Kotlin API.
-
- PHP
-
- SDK para PHP
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. public function describeAutoScalingGroups($autoScalingGroupNames) { return $this->autoScalingClient->describeAutoScalingGroups([ 'AutoScalingGroupNames' => $autoScalingGroupNames ]); }
-
Para API obter detalhes, consulte DescribeAutoScalingGroupsem AWS SDK for PHP APIReferência.
-
- PowerShell
-
- Ferramentas para PowerShell
-
Exemplo 1: Este exemplo lista os nomes dos seus grupos do Auto Scaling.
Get-ASAutoScalingGroup | format-table -property AutoScalingGroupName
Saída:
AutoScalingGroupName -------------------- my-asg-1 my-asg-2 my-asg-3 my-asg-4 my-asg-5 my-asg-6
Exemplo 2: Este exemplo descreve o grupo de Auto Scaling especificado.
Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1
Saída:
AutoScalingGroupARN : arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480 f03:autoScalingGroupName/my-asg-1 AutoScalingGroupName : my-asg-1 AvailabilityZones : {us-west-2b, us-west-2a} CreatedTime : 3/1/2015 9:05:31 AM DefaultCooldown : 300 DesiredCapacity : 2 EnabledMetrics : {} HealthCheckGracePeriod : 300 HealthCheckType : EC2 Instances : {my-lc} LaunchConfigurationName : my-lc LoadBalancerNames : {} MaxSize : 0 MinSize : 0 PlacementGroup : Status : SuspendedProcesses : {} Tags : {} TerminationPolicies : {Default} VPCZoneIdentifier : subnet-e4f33493,subnet-5264e837
Exemplo 3: Este exemplo descreve os dois grupos de Auto Scaling especificados.
Get-ASAutoScalingGroup -AutoScalingGroupName @("my-asg-1", "my-asg-2")
Exemplo 4: Este exemplo descreve as instâncias do Auto Scaling para o grupo de Auto Scaling especificado.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1).Instances
Exemplo 5: Este exemplo descreve todos os seus grupos de Auto Scaling.
Get-ASAutoScalingGroup
Exemplo 6: Este LaunchTemplate exemplo descreve o grupo de Auto Scaling especificado. Este exemplo pressupõe que as “Opções de compra de instância” estejam definidas como “Aderir ao modelo de lançamento”. Caso essa opção esteja definida como “Combinar opções de compra e tipos de instância”, LaunchTemplate pode ser acessada usando "MixedInstancesPolicy. LaunchTemplate” propriedade.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-ag-1).LaunchTemplate
Saída:
LaunchTemplateId LaunchTemplateName Version ---------------- ------------------ ------- lt-06095fd619cb40371 test-launch-template $Default
-
Para API obter detalhes, consulte DescribeAutoScalingGroupsem Referência de AWS Tools for PowerShell cmdlet.
-
- Python
-
- SDKpara Python (Boto3)
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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 describe_group(self, group_name: str) -> Optional[Dict[str, Any]]: """ Gets information about an Auto Scaling group. :param group_name: The name of the group to look up. :return: A dictionary with information about the group if found, otherwise None. :raises ClientError: If there is an error describing the Auto Scaling group. """ try: paginator = self.autoscaling_client.get_paginator( "describe_auto_scaling_groups" ) response_iterator = paginator.paginate(AutoScalingGroupNames=[group_name]) groups = [] for response in response_iterator: groups.extend(response.get("AutoScalingGroups", [])) logger.info( f"Successfully retrieved information for Auto Scaling group {group_name}." ) except ClientError as err: error_code = err.response["Error"]["Code"] logger.error(f"Failed to describe Auto Scaling group {group_name}.") if error_code == "ResourceContentionFault": logger.error( "There is a conflict with another operation that is modifying the " f"Auto Scaling group '{group_name}' Please try again later." ) logger.error(f"Full error:\n\t{err}") raise else: return groups[0] if len(groups) > 0 else None
-
Para API obter detalhes, consulte a DescribeAutoScalingGroupsReferência AWS SDK do Python (Boto3). API
-
- Rust
-
- SDKpara Rust
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. async fn list_groups(client: &Client) -> Result<(), Error> { let resp = client.describe_auto_scaling_groups().send().await?; println!("Groups:"); let groups = resp.auto_scaling_groups(); for group in groups { println!( "Name: {}", group.auto_scaling_group_name().unwrap_or("Unknown") ); println!( "Arn: {}", group.auto_scaling_group_arn().unwrap_or("unknown"), ); println!("Zones: {:?}", group.availability_zones(),); println!(); } println!("Found {} group(s)", groups.len()); Ok(()) }
-
Para API obter detalhes, consulte DescribeAutoScalingGroups
a AWS SDKAPIreferência do Rust.
-