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 tanto para redundância quanto para manter seus dados e aplicativos funcionando perto de onde você e seus usuários os acessam. 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 qualquer chamada de método de serviço do SDK que não esteja especificada 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 a partir do ambiente de execução. O primeiro valor que o SDK encontra definido é usado na configuração do cliente. Para obter mais informações sobre a criação de clientes de serviço, consulteConfigurar um cliente a partir do ambiente.
-
Qualquer região explícita definida programaticamente.
-
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.
-
-
A
region
propriedade no AWSconfig
arquivo compartilhado é verificada.-
A variável de
AWS_CONFIG_FILE
ambiente pode ser usada para alterar a localização doconfig
arquivo compartilhado. Para saber mais sobre onde esse arquivo é mantido, consulte Localização doscredentials
arquivos compartilhadosconfig
AWS SDKs e do Guia de referência de ferramentas. -
A variável de
AWS_PROFILE
ambiente pode ser usada para selecionar um perfil nomeado em vez do padrão. Para saber mais sobre como configurar perfis diferentes, consulte Compartilhadosconfig
ecredentials
arquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
O SDK tenta usar o Amazon EC2 Instance Metadata Service para determinar a região da instância da Amazon EC2 atualmente em execução.
-
Os AWS SDK para Rust únicos suportes IMDSv2.
-
O RegionProviderChain
é usado automaticamente sem código adicional ao criar uma configuração básica para usar 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
Definindo 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 config
arquivo compartilhado ou o Amazon EC2 Instance Metadata Service.
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.
Personalizando o RegionProviderChain
Use o 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á:
-
Primeiro, veja se há uma string definida na variável de
CUSTOM_REGION
ambiente. -
Se isso não estiver disponível, volte para a cadeia de fornecedores padrão da região.
-
Se isso falhar, use “us-east-2" como alternativa final.