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á.
Zonas Regiões da AWS de uso e disponibilidade
Descrever regiões
Para listar as regiões disponíveis para a conta, chame o método describeRegions
do Ec2Client. Ele retorna um DescribeRegionsResponseregions
do objeto retornado para obter uma lista de objetos Region
Importações
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;
Código
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);
}
}
Veja o exemplo completo
Descrever zonas de disponibilidade
Para listar cada zona de disponibilidade disponível para a conta, chame o método describeAvailabilityZones
do Ec2Client. Ele retorna um DescribeAvailabilityZonesResponseavailabilityZones
método para obter uma lista de AvailabilityZone
Importações
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;
Código
Criar o Ec2Client.
Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build();
Em seguida, chame describeAvailabilityZones () e recupere os resultados.
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);
}
}
Veja o exemplo completo
Descrever contas
Para listar informações EC2 relacionadas à sua conta, chame o método do Ec2Client. describeAccountAttributes
Esse método retorna um DescribeAccountAttributesResponseaccountAttributes
método de objetos para obter uma lista de AccountAttributeAccountAttribute
.
Você pode obter os valores dos atributos da sua conta invocando o attributeValues
método do AccountAttribute
objeto. Esse método retorna uma lista de AccountAttributeValue
Importações
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;
Código
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()));
});
}
});
}
}
Veja o exemplo completo
Mais informações
-
Regiões e zonas de disponibilidade no Guia Amazon EC2 do usuário para instâncias Linux
-
DescribeRegionsna Referência da Amazon EC2 API
-
DescribeAvailabilityZonesna Referência da Amazon EC2 API