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.
-
Qualquer região explícita é definida programaticamente.
-
A variável de ambiente
AWS_REGIONestá marcada.-
Se você estiver usando o AWS Lambda serviço, essa variável de ambiente será definida automaticamente pelo AWS Lambda contêiner.
-
-
A
regionpropriedade no AWSconfigarquivo compartilhado é 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 doscredentialsarquivos compartilhadosconfigAWS SDKs e do Guia de referência de ferramentas. -
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 perfis diferentes, consulte Compartilhadosconfigecredentialsarquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
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á:
-
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.