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.
-
Toute région explicite définie par programmation.
-
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.
-
-
La
region
propriété du AWSconfig
fichier partagé est vérifiée.-
La variable d'
AWS_CONFIG_FILE
environnement peut être utilisée pour modifier l'emplacement duconfig
fichier partagé. Pour en savoir plus sur l'emplacement de conservation de ce fichier, consultez la section Emplacement du fichier partagéconfig
etcredentials
des fichiers dans le Guide de référence des outils AWS SDKs et. -
La variable d'
AWS_PROFILE
environnement 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 Sharedconfig
andcredentials
files dans le guide de référence AWS SDKs and Tools.
-
-
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 :
-
Vérifiez d'abord s'il existe une chaîne définie dans la variable d'
CUSTOM_REGION
environnement. -
Si ce n'est pas disponible, revenez à la chaîne de fournisseurs régionaux par défaut.
-
Si cela échoue, utilisez « us-east-2 » comme solution de repli finale.