Configurar a região da AWS - AWS SDK para .NET (V3)

A versão 4 (V4) do AWS SDK para .NET foi lançada!

Para começar a usar a nova versão do SDK, consulte o Guia do desenvolvedor AWS SDK para .NET (V4), especialmente o tópico sobre migração para a versão 4.

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á.

Configurar a região da AWS

As regiões da AWS permitem o acesso aos serviços da AWS que residem fisicamente em uma região geográfica específica. Isso pode ser útil para redundância e para manter os seus dados e aplicativos em execução próximo ao lugar em que você e os seus usuários os acessarão.

Para exibir a lista atual com todas as Regiões e endpoints compatíveis para cada serviço da AWS, consulte Endpoints e cotas de serviço em Referência geral da AWS. Para ver uma lista dos endpoints regionais existentes, consulte endpoints de serviço da AWS. Para ver informações detalhadas sobre regiões, consulte Specify which AWS Regions your account can use.

Você pode criar um cliente de serviço da AWS que vá para uma região específica. Você também pode configurar seu aplicativo com uma região que será usada para todos os clientes de serviço da AWS. Esses dois casos serão explicados a seguir.

Crie um cliente de serviço com uma região específica

Você pode especificar a região para qualquer um dos clientes de AWS serviço em seu aplicativo. Definir a Região desta maneira tem precedência sobre qualquer configuração global para aquele cliente de serviço particular.

Região existente

Este exemplo mostra como instanciar um cliente do Amazon EC2 em uma região existente. Ele usa campos RegionEndpoint definidos.

using (AmazonEC2Client ec2Client = new AmazonEC2Client(RegionEndpoint.USWest2)) { // Make a request to EC2 in the us-west-2 Region using ec2Client }

Nova região usando a classe RegionEndpoint

Este exemplo mostra como estruturar um novo endpoint de região usando RegionEndpoint.GetBySystemName.

var newRegion = RegionEndpoint.GetBySystemName("us-west-new"); using (var ec2Client = new AmazonEC2Client(newRegion)) { // Make a request to EC2 in the new Region using ec2Client }

Nova região usando a classe de configuração do cliente de serviço

Este exemplo mostra como usar a propriedade ServiceURL da classe de configuração do cliente de serviço para especificar a região; nesse caso, usando a classe AmazonEC2Config.

Esta técnica funciona mesmo se o endpoint da região não seguir o padrão regular de endpoints da região.

var ec2ClientConfig = new AmazonEC2Config { // Specify the endpoint explicitly ServiceURL = "https://ec2.us-west-new.amazonaws.com" }; using (var ec2Client = new AmazonEC2Client(ec2ClientConfig)) { // Make a request to EC2 in the new Region using ec2Client }

Especifique uma região para todos os clientes de serviço

Há várias maneiras de especificar uma região para todos os clientes de serviço da AWS que seu aplicativo cria. Essa região é usada para clientes de serviço que não foram criados com uma região específica.

O AWS SDK para .NET procura um valor de região na seguinte ordem.

Perfis

Defina um perfil que seu aplicativo ou o SDK tenha carregado. Para obter mais informações, consulte Resolução de perfil e credenciais.

Variáveis de ambiente

Defina na variável de ambiente AWS_REGION.

No Linux ou macOS:

export AWS_REGION='us-west-2'

No Windows:

set AWS_REGION=us-west-2
nota

Se você definir essa variável de ambiente para todo o sistema (usando export ou setx), ela afetará todos os SDKs e toolkits, não apenas o AWS SDK para .NET.

Classe AWSConfigs

Defina como uma propriedade AWSConfigs.AWSRegion.

AWSConfigs.AWSRegion = "us-west-2"; using (var ec2Client = new AmazonEC2Client()) { // Make request to Amazon EC2 in us-west-2 Region using ec2Client }

Resolução da região

Se nenhum dos métodos descritos acima for usado para especificar uma Região da AWS, o AWS SDK para .NET tenta encontrar uma região na qual o cliente de serviço da AWS vai operar.

Ordem da resolução da região
  1. Arquivos de configuração do aplicativo, como app.config e web.config.

  2. Variáveis de ambiente (AWS_REGION e AWS_DEFAULT_REGION).

  3. Um perfil com o nome especificado por um valor em AWSConfigs.AWSProfileName.

  4. Um perfil com o nome especificado pela variável de ambiente AWS_PROFILE.

  5. O perfil [default].

  6. Metadados da instância do Amazon EC2 (se estiver sendo executada em uma instância do EC2).

Se nenhuma região for encontrada, o SDK lançará uma exceção declarando que o cliente de serviço da AWS não tem uma região configurada.

Informações especiais sobre a região da China (Pequim)

Para usar serviços na região China (Pequim), é necessário ter uma conta e credenciais específicas para a região China (Pequim). As contas e credenciais para outras regiões da AWS não funcionarão para a região China (Pequim). Da mesma forma, as contas e credenciais para a região China (Pequim) não funcionarão em outras regiões da AWS. Para ter informações sobre os endpoints e protocolos que estão disponíveis na região China (Pequim), consulte Endpoints da região Pequim.

Informações especiais sobre novos serviços da AWS

Novos serviços da AWS podem ser lançados inicialmente em algumas regiões e, em seguida, liberados para outras regiões. Nestes casos, não é necessário instalar o SDK mais recente para acessar as novas regiões para esse serviço. Você pode especificar regiões recém-adicionadas globalmente ou por cliente, como mostrado anteriormente.