Configurando o Região da AWS para o AWS SDK para Rust - AWS SDK para Rust

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

Configurando o Região da AWS para o AWS SDK para Rust

Você pode acessar Serviços da AWS essa operação em uma área geográfica específica usando Regiões da AWS. Isso pode ser útil para redundância e para manter os dados e as aplicações em execução próximo ao lugar onde você e os usuários as acessarão. Para obter mais informações sobre como as regiões são usadas, consulte Região da AWSo Guia de referência de ferramentas AWS SDKs e ferramentas.

Importante

A maioria dos recursos reside em um local específico Região da AWS e você deve fornecer a região correta para o recurso ao usar o SDK.

Você deve definir um padrão Região da AWS para o SDK do Rust usar nas solicitações AWS . Esse padrão é usado para todas as chamadas do método de serviço do SDK que não são especificadas com uma região.

Para obter exemplos de como definir a região padrão por meio do AWS config arquivo compartilhado ou das variáveis de ambiente, consulte Região da AWSo Guia de referência de ferramentas AWS SDKs e ferramentas.

Região da AWS cadeia de fornecedores

O processo de pesquisa a seguir é usado ao carregar a configuração de um cliente de serviço do ambiente de execução. O primeiro valor que o SDK encontra como definido é usado na configuração do cliente. Para obter mais informações sobre a criação de clientes de serviço, consulte Configurar um cliente do ambiente.

  1. Qualquer região explícita é definida programaticamente.

  2. A variável de ambiente AWS_REGION está marcada.

    • Se você estiver usando o AWS Lambda serviço, essa variável de ambiente será definida automaticamente pelo AWS Lambda contêiner.

  3. A region propriedade no AWS config arquivo compartilhado é verificada.

    • A variável de ambiente AWS_CONFIG_FILE pode ser usada para alterar o local do arquivo de configuração config compartilhado. Para saber mais sobre onde esse arquivo é mantido, consulte Localização dos credentials arquivos compartilhados configAWS SDKs e do Guia de referência de ferramentas.

    • A variável de ambiente AWS_PROFILE pode ser usada para selecionar um perfil nomeado em vez do padrão. Para saber mais sobre como configurar perfis diferentes, consulte Compartilhados config e credentials arquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.

  4. O SDK tenta usar o serviço de metadados da instância do Amazon EC2 para determinar a região da instância do Amazon EC2 em execução no momento.

    • Os AWS SDK para Rust únicos suportes IMDSv2.

O RegionProviderChain é usado automaticamente sem código adicional ao criar uma configuração básica para ser usada com um cliente de serviço:

let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await;

Configurando o código Região da AWS de entrada

Definir explicitamente a região no código

Use Region::new() diretamente na sua configuração quando quiser definir explicitamente a região.

A cadeia de fornecedores da região não é usada. Ela não verifica o ambiente, o arquivo compartilhado config ou o serviço de metadados da instância do Amazon EC2.

use aws_config::{defaults, BehaviorVersion}; use aws_sdk_s3::config::Region; #[tokio::main] async fn main() { let config = defaults(BehaviorVersion::latest()) .region(Region::new("us-west-2")) .load() .await; println!("Using Region: {}", config.region().unwrap()); }

Certifique-se de inserir uma string válida para um Região da AWS; o valor fornecido não está validado.

Personalizar o RegionProviderChain

Use Região da AWS cadeia de fornecedores quando quiser injetar uma região condicionalmente, substituí-la ou personalizar a cadeia de resolução.

use aws_config::{defaults, BehaviorVersion}; use aws_config::meta::region::RegionProviderChain; use aws_sdk_s3::config::Region; use std::env; #[tokio::main] async fn main() { let region_provider = RegionProviderChain::first_try(env::var("CUSTOM_REGION").ok().map(Region::new)) .or_default_provider() .or_else(Region::new("us-east-2")); let config = aws_config::defaults(BehaviorVersion::latest()) .region(region_provider) .load() .await; println!("Using Region: {}", config.region().unwrap()); }

A configuração anterior irá:

  1. Ver se há uma string definida na variável de ambiente CUSTOM_REGION.

  2. Se isso não estiver disponível, retornar à cadeia de fornecedores padrão da região.

  3. Se isso falhar, usar “us-east-2" como o fallback final.