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

  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.

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

  1. Primeiro, veja se há uma string definida na variável de CUSTOM_REGION ambiente.

  2. Se isso não estiver disponível, volte para a cadeia de fornecedores padrão da região.

  3. Se isso falhar, use “us-east-2" como alternativa final.