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á.
Definir a Região da AWS para o AWS SDK para Rust
Você pode acessar os Serviços da AWS que operam em uma área geográfica específica usando o 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 no Região da AWS no Guia de referência de ferramentas e SDKs da AWS.
Importante
A maioria dos recursos reside em uma Região da AWS específica e você deve fornecer a região correta para o recurso ao usar o SDK.
Você deve definir uma Região da AWS padrão para o SDK do Rust usar nas solicitações da 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 ver exemplos de como definir a região padrão por meio do arquivo compartilhado config da AWS ou das variáveis de ambiente, consulte o Região da AWS no Guia de referência de ferramentas e AWS SDKs.
Cadeia de fornecedores da Região da AWS
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.
-
Qualquer região explícita é definida programaticamente.
-
A variável de ambiente
AWS_REGIONestá marcada.-
Se você estiver usando o serviço do AWS Lambda, essa variável de ambiente será definida automaticamente pelo contêiner do AWS Lambda.
-
-
A propriedade
regionno arquivo compartilhadoconfigda AWS é verificada.-
A variável de ambiente
AWS_CONFIG_FILEpode ser usada para alterar o local do arquivo de configuraçãoconfigcompartilhado. Para saber mais sobre onde esse arquivo é mantido, consulte Localização dos arquivos compartilhadosconfigecredentialsno Guia de referência de SDKs e ferramentas da AWS. -
A variável de ambiente
AWS_PROFILEpode ser usada para selecionar um perfil nomeado em vez do padrão. Para saber mais sobre como configurar diferentes perfis, consulte Arquivos compartilhadosconfigecredentialsno Guia de referência de SDKs e ferramentas da AWS.
-
-
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.
-
O AWS SDK para Rust é compatível apenas com 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;
Definir a Região da AWS no código
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()); }
Insira uma string válida para uma Região da AWS; o valor fornecido não é validado.
Personalizar o RegionProviderChain
Use Cadeia de fornecedores da Região da AWS 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á:
-
Ver se há uma string definida na variável de ambiente
CUSTOM_REGION. -
Se isso não estiver disponível, retornar à cadeia de fornecedores padrão da região.
-
Se isso falhar, usar “us-east-2" como o fallback final.