Régler le Région AWS pour le Kit AWS SDK pour Rust - Kit AWS SDK pour Rust

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Régler le Région AWS pour le Kit AWS SDK pour Rust

Vous pouvez accéder à Services AWS ceux qui opèrent dans une zone géographique spécifique en utilisant Régions AWS. Cela peut être utile à la fois pour la redondance et pour que vos données et applications fonctionnent à proximité de l'endroit où vous et vos utilisateurs y accédez. Pour plus d'informations sur l'utilisation des régions, consultez le Guide Région AWSde référence des outils AWS SDKs et des outils.

Important

La plupart des ressources se trouvent dans une région spécifique Région AWS et vous devez indiquer la région appropriée pour la ressource lorsque vous utilisez le SDK.

Vous devez définir une valeur par défaut Région AWS pour le SDK pour Rust à utiliser pour les AWS requêtes. Cette valeur par défaut est utilisée pour tous les appels de méthode de service du SDK qui ne sont pas spécifiés par une région.

Pour des exemples sur la façon de définir la région par défaut via le AWS config fichier partagé ou les variables d'environnement, consultez Région AWSle Guide de référence des outils AWS SDKs et des outils.

Région AWS chaîne de fournisseurs

Le processus de recherche suivant est utilisé lors du chargement de la configuration d'un client de service depuis l'environnement d'exécution. La première valeur définie par le SDK est utilisée dans la configuration du client. Pour plus d'informations sur la création de clients de service, consultezConfiguration d'un client depuis l'environnement.

  1. Toute région explicite définie par programmation.

  2. La variable d'environnement AWS_REGION est contrôlée.

    • Si vous utilisez le AWS Lambda service, cette variable d'environnement est définie automatiquement par le AWS Lambda conteneur.

  3. La region propriété du AWS config fichier partagé est vérifiée.

    • La variable d'AWS_CONFIG_FILEenvironnement peut être utilisée pour modifier l'emplacement du config fichier partagé. Pour en savoir plus sur l'emplacement de conservation de ce fichier, consultez la section Emplacement du fichier partagé config et credentials des fichiers dans le Guide de référence des outils AWS SDKs et.

    • La variable d'AWS_PROFILEenvironnement peut être utilisée pour sélectionner un profil nommé au lieu du profil par défaut. Pour en savoir plus sur la configuration des différents profils, consultez la section Shared config and credentials files dans le guide de référence AWS SDKs and Tools.

  4. Le SDK tente d'utiliser le service de métadonnées d' EC2 instance Amazon pour déterminer la région de l' EC2 instance Amazon actuellement en cours d'exécution.

    • Les Kit AWS SDK pour Rust seuls supports IMDSv2.

Le RegionProviderChain est automatiquement utilisé sans code supplémentaire lors de la création d'une configuration de base à utiliser avec un client de service :

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

Configuration du code Région AWS d'entrée

Définition explicite de la région dans le code

À utiliser Region::new() directement dans votre configuration lorsque vous souhaitez définir explicitement la région.

La chaîne de fournisseurs de régions n'est pas utilisée : elle ne vérifie pas l'environnement, le config fichier partagé ou le service de métadonnées d' EC2 instance Amazon.

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()); }

Assurez-vous de saisir une chaîne valide pour un Région AWS ; la valeur fournie n'est pas validée.

Personnalisation du RegionProviderChain

Utilisez le Région AWS chaîne de fournisseurs lorsque vous souhaitez injecter une région de manière conditionnelle, la remplacer ou personnaliser la chaîne de résolution.

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()); }

La configuration précédente permettra de :

  1. Vérifiez d'abord s'il existe une chaîne définie dans la variable d'CUSTOM_REGIONenvironnement.

  2. Si ce n'est pas disponible, revenez à la chaîne de fournisseurs régionaux par défaut.

  3. Si cela échoue, utilisez « us-east-2 » comme solution de repli finale.