Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK または CLI DescribeAutoScalingInstances
で使用する
以下のコード例は、DescribeAutoScalingInstances
の使用方法を示しています。
アクション例は、より大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。次のコード例で、このアクションのコンテキストを確認できます。
- .NET
-
- AWS SDK for .NET
-
注記
GitHub には他にもあります。用例一覧を検索し、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; }
-
API の詳細については、DescribeAutoScalingInstances AWS SDK for .NET リファレンスの API を参照してください。
-
- C++
-
- C++ のSDK
-
注記
GitHub には他にもあります。用例一覧を検索し、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::DescribeAutoScalingInstancesRequest request; request.SetInstanceIds(instanceIDs); Aws::AutoScaling::Model::DescribeAutoScalingInstancesOutcome outcome = client.DescribeAutoScalingInstances(request); if (outcome.IsSuccess()) { const Aws::Vector<Aws::AutoScaling::Model::AutoScalingInstanceDetails> &instancesDetails = outcome.GetResult().GetAutoScalingInstances(); } else { std::cerr << "Error with AutoScaling::DescribeAutoScalingInstances. " << outcome.GetError().GetMessage() << std::endl; return false; }
-
API の詳細については、DescribeAutoScalingInstances AWS SDK for C++ リファレンスの API を参照してください。
-
- CLI
-
- AWS CLI
-
例 1: 1 つまたは複数のインスタンスを記述するには
この例では、指定されたインスタンスを記述します。
aws autoscaling describe-auto-scaling-instances \ --instance-ids
i-06905f55584de02da
出力:
{ "AutoScalingInstances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2b", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12", "LaunchTemplateName": "my-launch-template", "Version": "1" } } ] }
例 2: 1 つまたは複数のインスタンスを記述するには
この例では、
--max-items
オプションを使用して、この呼び出しで返されるインスタンスの数を指定します。aws autoscaling describe-auto-scaling-instances \ --max-items
1
出力に
NextToken
フィールドが含まれている場合は、さらに多くのインスタンスがあることを示しています。追加のインスタンスを取得するには、次のように、以降の呼び出しで--starting-token
オプションを使用してこのフィールドの値を使用します。aws autoscaling describe-auto-scaling-instances \ --starting-token
Z3M3LMPEXAMPLE
出力例については、例 1 を参照してください。
例 3: 起動設定を使用するインスタンスを記述するには
この例では、
--query
オプションを使用して、起動設定を使用するインスタンスを記述します。aws autoscaling describe-auto-scaling-instances \ --query '
AutoScalingInstances[?LaunchConfigurationName!=`null`]
'出力:
[ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2c", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ]
詳細については、AWS 「 コマンドラインインターフェイスユーザーガイド」の「Filter AWS CLI 出力」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeAutoScalingInstances
」を参照してください。
-
- Java
-
- Java 2.x のSDK
-
注記
GitHub には他にもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 public static void describeAutoScalingInstance(AutoScalingClient autoScalingClient, String id) { try { DescribeAutoScalingInstancesRequest describeAutoScalingInstancesRequest = DescribeAutoScalingInstancesRequest .builder() .instanceIds(id) .build(); DescribeAutoScalingInstancesResponse response = autoScalingClient .describeAutoScalingInstances(describeAutoScalingInstancesRequest); List<AutoScalingInstanceDetails> instances = response.autoScalingInstances(); for (AutoScalingInstanceDetails instance : instances) { System.out.println("The instance lifecycle state is: " + instance.lifecycleState()); } } catch (AutoScalingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
-
API の詳細については、DescribeAutoScalingInstances AWS SDK for Java 2.x リファレンスの API を参照してください。
-
- Kotlin
-
- Kotlin のSDK
-
注記
GitHub には他にもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 suspend fun describeAutoScalingInstance(id: String) { val describeAutoScalingInstancesRequest = DescribeAutoScalingInstancesRequest { instanceIds = listOf(id) } AutoScalingClient { region = "us-east-1" }.use { autoScalingClient -> val response = autoScalingClient.describeAutoScalingInstances(describeAutoScalingInstancesRequest) response.autoScalingInstances?.forEach { group -> println("The instance lifecycle state is: ${group.lifecycleState}") } } }
-
API の詳細については、「Word for Kotlin DescribeAutoScalingInstances
リファレンス」を参照してください。 AWS SDK API
-
- PHP
-
- PHP に関する SDK
-
注記
GitHub には他にもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 public function describeAutoScalingInstances($instanceIds) { return $this->autoScalingClient->describeAutoScalingInstances([ 'InstanceIds' => $instanceIds ]); }
-
API の詳細については、DescribeAutoScalingInstances AWS SDK for PHP リファレンスの API を参照してください。
-
- PowerShell
-
- ツール for PowerShell
-
例 1: この例では、Auto Scaling インスタンスの IDs を一覧表示します。
Get-ASAutoScalingInstance | format-table -property InstanceId
出力:
InstanceId ---------- i-12345678 i-87654321 i-abcd1234
例 2: この例では、指定した Auto Scaling インスタンスを記述します。
Get-ASAutoScalingInstance -InstanceId i-12345678
出力:
AutoScalingGroupName : my-asg AvailabilityZone : us-west-2b HealthStatus : HEALTHY InstanceId : i-12345678 LaunchConfigurationName : my-lc LifecycleState : InService
例 3: この例では、指定した 2 つの Auto Scaling インスタンスを記述します。
Get-ASAutoScalingInstance -InstanceId @("i-12345678", "i-87654321")
例 4: この例では、指定した Auto Scaling グループの Auto Scaling インスタンスを記述します。
(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg).Instances | Get-ASAutoScalingInstance
例 5: この例では、すべての Auto Scaling インスタンスを記述します。
Get-ASAutoScalingInstance
-
API の詳細については、「コマンドレットリファレンス」のDescribeAutoScalingInstances」を参照してください。 AWS Tools for PowerShell
-
- Python
-
- Python 用 SDK (Boto3)
-
注記
GitHub には他にもあります。用例一覧を検索し、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_instances(self, instance_ids: List[str]) -> List[Dict[str, Any]]: """ Gets information about instances. :param instance_ids: A list of instance IDs to look up. :return: A list of dictionaries with information about each instance, or an empty list if none are found. :raises ClientError: If there is an error describing the instances. """ try: paginator = self.autoscaling_client.get_paginator( "describe_auto_scaling_instances" ) response_iterator = paginator.paginate(InstanceIds=instance_ids) instances = [] for response in response_iterator: instances.extend(response.get("AutoScalingInstances", [])) logger.info(f"Successfully described instances: {instance_ids}") except ClientError as err: error_code = err.response["Error"]["Code"] logger.error( f"Couldn't describe instances {instance_ids}. Error code: {error_code}, Message: {err.response['Error']['Message']}" ) raise else: return instances
-
API の詳細については、DescribeAutoScalingInstances for AWS Python (Boto3) SDK APIリファレンス」を参照してください。
-
- Rust
-
- Rust のSDK
-
注記
GitHub には他にもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 pub async fn list_instances(&self) -> Result<Vec<String>, ScenarioError> { // The direct way to list instances is by using DescribeAutoScalingGroup's instances property. However, this returns a Vec<Instance>, as opposed to a Vec<AutoScalingInstanceDetails>. // Ok(self.get_group().await?.instances.unwrap_or_default().map(|i| i.instance_id.clone().unwrap_or_default()).filter(|id| !id.is_empty()).collect()) // Alternatively, and for the sake of example, DescribeAutoScalingInstances returns a list that can be filtered by the client. self.autoscaling .describe_auto_scaling_instances() .into_paginator() .items() .send() .try_collect() .await .map(|items| { items .into_iter() .filter(|i| { i.auto_scaling_group_name.as_deref() == Some(self.auto_scaling_group_name.as_str()) }) .map(|i| i.instance_id.unwrap_or_default()) .filter(|id| !id.is_empty()) .collect::<Vec<String>>() }) .map_err(|err| ScenarioError::new("Failed to get list of auto scaling instances", &err)) }
-
API の詳細については、DescribeAutoScalingInstances
AWS SDK for Rust API リファレンス」を参照してください。
-