Zona Penggunaan Wilayah AWS dan Ketersediaan - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Zona Penggunaan Wilayah AWS dan Ketersediaan

Menjelaskan Wilayah

Untuk mencantumkan Wilayah yang tersedia untuk akun Anda, hubungi metode Ec2Client. describeRegions Ini mengembalikan a DescribeRegionsResponse. Panggil regions metode objek yang dikembalikan untuk mendapatkan daftar objek Region yang mewakili setiap Region.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import java.util.concurrent.CompletableFuture;

Kode

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import java.util.concurrent.CompletableFuture; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeRegionsAndZones { public static void main(String[] args) { Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build(); try { CompletableFuture<Void> future = describeEC2RegionsAndZonesAsync(ec2AsyncClient); future.join(); // Wait for both async operations to complete. } catch (RuntimeException rte) { System.err.println("An exception occurred: " + (rte.getCause() != null ? rte.getCause().getMessage() : rte.getMessage())); } } /** * Asynchronously describes the EC2 regions and availability zones. * * @param ec2AsyncClient the EC2 async client used to make the API calls * @return a {@link CompletableFuture} that completes when both the region and availability zone descriptions are complete */ public static CompletableFuture<Void> describeEC2RegionsAndZonesAsync(Ec2AsyncClient ec2AsyncClient) { // Initiate the asynchronous request to describe regions CompletableFuture<DescribeRegionsResponse> regionsResponse = ec2AsyncClient.describeRegions(); // Handle the response or exception for regions CompletableFuture<DescribeRegionsResponse> regionsFuture = regionsResponse.whenComplete((regionsResp, ex) -> { if (ex != null) { // Handle the exception by throwing a RuntimeException throw new RuntimeException("Failed to describe EC2 regions.", ex); } else if (regionsResp == null || regionsResp.regions().isEmpty()) { // Throw an exception if the response is null or the result is empty throw new RuntimeException("No EC2 regions found."); } else { // Process the response if no exception occurred and the result is not empty regionsResp.regions().forEach(region -> { System.out.printf( "Found Region %s with endpoint %s%n", region.regionName(), region.endpoint()); }); } }); CompletableFuture<DescribeAvailabilityZonesResponse> zonesResponse = ec2AsyncClient.describeAvailabilityZones(); CompletableFuture<DescribeAvailabilityZonesResponse> zonesFuture = zonesResponse.whenComplete((zonesResp, ex) -> { if (ex != null) { throw new RuntimeException("Failed to describe EC2 availability zones.", ex); } else if (zonesResp == null || zonesResp.availabilityZones().isEmpty()) { throw new RuntimeException("No EC2 availability zones found."); } else { zonesResp.availabilityZones().forEach(zone -> { System.out.printf( "Found Availability Zone %s with status %s in region %s%n", zone.zoneName(), zone.state(), zone.regionName() ); }); } }); return CompletableFuture.allOf(regionsFuture, zonesFuture); } }

Lihat contoh lengkapnya di GitHub.

Jelaskan zona ketersediaan

Untuk mencantumkan setiap Availability Zone yang tersedia untuk akun Anda, hubungi metode Ec2Client. describeAvailabilityZones Ini mengembalikan a DescribeAvailabilityZonesResponse. Panggil availabilityZones metodenya untuk mendapatkan daftar AvailabilityZoneobjek yang mewakili setiap Availability Zone.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import java.util.concurrent.CompletableFuture;

Kode

Buat Ec2Client.

Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build();

Kemudian panggil describeAvailabilityZones () dan ambil hasilnya.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import java.util.concurrent.CompletableFuture; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeRegionsAndZones { public static void main(String[] args) { Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build(); try { CompletableFuture<Void> future = describeEC2RegionsAndZonesAsync(ec2AsyncClient); future.join(); // Wait for both async operations to complete. } catch (RuntimeException rte) { System.err.println("An exception occurred: " + (rte.getCause() != null ? rte.getCause().getMessage() : rte.getMessage())); } } /** * Asynchronously describes the EC2 regions and availability zones. * * @param ec2AsyncClient the EC2 async client used to make the API calls * @return a {@link CompletableFuture} that completes when both the region and availability zone descriptions are complete */ public static CompletableFuture<Void> describeEC2RegionsAndZonesAsync(Ec2AsyncClient ec2AsyncClient) { // Initiate the asynchronous request to describe regions CompletableFuture<DescribeRegionsResponse> regionsResponse = ec2AsyncClient.describeRegions(); // Handle the response or exception for regions CompletableFuture<DescribeRegionsResponse> regionsFuture = regionsResponse.whenComplete((regionsResp, ex) -> { if (ex != null) { // Handle the exception by throwing a RuntimeException throw new RuntimeException("Failed to describe EC2 regions.", ex); } else if (regionsResp == null || regionsResp.regions().isEmpty()) { // Throw an exception if the response is null or the result is empty throw new RuntimeException("No EC2 regions found."); } else { // Process the response if no exception occurred and the result is not empty regionsResp.regions().forEach(region -> { System.out.printf( "Found Region %s with endpoint %s%n", region.regionName(), region.endpoint()); }); } }); CompletableFuture<DescribeAvailabilityZonesResponse> zonesResponse = ec2AsyncClient.describeAvailabilityZones(); CompletableFuture<DescribeAvailabilityZonesResponse> zonesFuture = zonesResponse.whenComplete((zonesResp, ex) -> { if (ex != null) { throw new RuntimeException("Failed to describe EC2 availability zones.", ex); } else if (zonesResp == null || zonesResp.availabilityZones().isEmpty()) { throw new RuntimeException("No EC2 availability zones found."); } else { zonesResp.availabilityZones().forEach(zone -> { System.out.printf( "Found Availability Zone %s with status %s in region %s%n", zone.zoneName(), zone.state(), zone.regionName() ); }); } }); return CompletableFuture.allOf(regionsFuture, zonesFuture); } }

Lihat contoh lengkapnya di GitHub.

Jelaskan akun

Untuk membuat daftar informasi EC2 terkait tentang akun Anda, hubungi metode Ec2Client. describeAccountAttributes Metode ini mengembalikan DescribeAccountAttributesResponseobjek. Memanggil accountAttributes metode objek ini untuk mendapatkan daftar AccountAttributeobjek. Anda dapat mengulangi melalui daftar untuk mengambil objekAccountAttribute.

Anda bisa mendapatkan nilai atribut akun Anda dengan menjalankan attributeValues metode AccountAttribute objek. Metode ini mengembalikan daftar AccountAttributeValueobjek. Anda dapat mengulangi melalui daftar kedua ini untuk menampilkan nilai atribut (lihat contoh kode berikut).

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeAccountAttributesResponse; import java.util.concurrent.CompletableFuture;

Kode

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.DescribeAccountAttributesResponse; import java.util.concurrent.CompletableFuture; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeAccount { public static void main(String[] args) { Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build(); try { CompletableFuture<DescribeAccountAttributesResponse> future = describeEC2AccountAsync(ec2AsyncClient); future.join(); System.out.println("EC2 Account attributes described successfully."); } catch (RuntimeException rte) { System.err.println("An exception occurred: " + (rte.getCause() != null ? rte.getCause().getMessage() : rte.getMessage())); } } /** * Describes the EC2 account attributes asynchronously. * * @param ec2AsyncClient the EC2 asynchronous client to use for the operation * @return a {@link CompletableFuture} containing the {@link DescribeAccountAttributesResponse} with the account attributes */ public static CompletableFuture<DescribeAccountAttributesResponse> describeEC2AccountAsync(Ec2AsyncClient ec2AsyncClient) { CompletableFuture<DescribeAccountAttributesResponse> response = ec2AsyncClient.describeAccountAttributes(); return response.whenComplete((accountResults, ex) -> { if (ex != null) { // Handle the exception by throwing a RuntimeException. throw new RuntimeException("Failed to describe EC2 account attributes.", ex); } else if (accountResults == null || accountResults.accountAttributes().isEmpty()) { // Throw an exception if the response is null or no account attributes are found. throw new RuntimeException("No account attributes found."); } else { // Process the response if no exception occurred. accountResults.accountAttributes().forEach(attribute -> { System.out.println("\nThe name of the attribute is " + attribute.attributeName()); attribute.attributeValues().forEach( myValue -> System.out.println("The value of the attribute is " + myValue.attributeValue())); }); } }); } }

Lihat contoh lengkapnya di GitHub.

Informasi lain