Einstellung der AWS-Region für die AWS SDK for Rust - AWS SDK for Rust

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einstellung der AWS-Region für die AWS SDK for Rust

Sie können auf diejenigen zugreifen AWS-Services , die in einem bestimmten geografischen Gebiet tätig sind, indem Sie AWS-Regionen. Dies kann sowohl aus Gründen der Redundanz als auch dafür nützlich sein, dass Ihre Daten und Anwendungen in der Nähe ausgeführt werden, wo Sie und Ihre Benutzer darauf zugreifen. Weitere Informationen zur Verwendung von Regionen finden Sie AWS-Regionim Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.

Wichtig

Die meisten Ressourcen befinden sich in einer bestimmten Region, AWS-Region und Sie müssen die richtige Region für die Ressource angeben, wenn Sie das SDK verwenden.

Sie müssen einen Standard AWS-Region für das SDK für Rust festlegen, das für AWS Anfragen verwendet werden soll. Dieser Standard wird für alle Aufrufe von SDK-Servicemethoden verwendet, die nicht mit einer Region angegeben sind.

Beispiele dafür, wie Sie die Standardregion mithilfe der gemeinsam genutzten AWS config Datei- oder Umgebungsvariablen festlegen, finden Sie AWS-Regionim Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.

AWS-Region Anbieterkette

Der folgende Suchvorgang wird verwendet, wenn die Konfiguration eines Service-Clients aus der Ausführungsumgebung geladen wird. Der erste Wert, den das SDK feststellt, wird in der Konfiguration des Clients verwendet. Weitere Informationen zum Erstellen von Service-Clients finden Sie unterKonfigurieren Sie einen Client aus der Umgebung.

  1. Jede explizite Region, die programmgesteuert festgelegt wurde.

  2. Die Umgebungsvariable AWS_REGION wird geprüft.

    • Wenn Sie den AWS Lambda Dienst verwenden, wird diese Umgebungsvariable automatisch vom AWS Lambda Container festgelegt.

  3. Die region Eigenschaft in der gemeinsam genutzten AWS config Datei wird überprüft.

    • Die AWS_CONFIG_FILE Umgebungsvariable kann verwendet werden, um den Speicherort der gemeinsam genutzten config Datei zu ändern. Weitere Informationen darüber, wo diese Datei gespeichert wird, finden Sie unter Speicherort der gemeinsam genutzten credentials Dateien config und Dateien im AWS SDKs Referenzhandbuch zu Tools.

    • Die AWS_PROFILE Umgebungsvariable kann verwendet werden, um ein benanntes Profil anstelle des Standardprofils auszuwählen. Weitere Informationen zur Konfiguration verschiedener Profile finden Sie unter Geteilte Profile config und credentials Dateien im AWS SDKs Referenzhandbuch zu Tools.

  4. Das SDK versucht, den Amazon EC2 Instance Metadata Service zu verwenden, um die Region der aktuell laufenden EC2 Amazon-Instance zu ermitteln.

    • Die AWS SDK for Rust einzige Unterstützung IMDSv2.

Das RegionProviderChain wird automatisch ohne zusätzlichen Code verwendet, wenn eine Basiskonfiguration für die Verwendung mit einem Service-Client erstellt wird:

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

Einstellen des AWS-Region In-Codes

Explizites Einstellen der Region im Code

Verwenden Sie es Region::new() direkt in Ihrer Konfiguration, wenn Sie die Region explizit festlegen möchten.

Die Anbieterkette Region wird nicht verwendet — sie überprüft nicht die Umgebung, die gemeinsam genutzte config Datei oder den 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()); }

Stellen Sie sicher AWS-Region, dass Sie eine gültige Zeichenfolge für eingeben. Der angegebene Wert ist nicht validiert.

Anpassen der RegionProviderChain

Verwenden Sie denAWS-Region Anbieterkette, wenn Sie eine Region bedingt einfügen, überschreiben oder die Auflösungskette anpassen möchten.

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

Die vorherige Konfiguration wird:

  1. Prüfen Sie zunächst, ob in der CUSTOM_REGION Umgebungsvariablen eine Zeichenfolge festgelegt ist.

  2. Wenn das nicht verfügbar ist, greifen Sie auf die standardmäßige Anbieterkette der Region zurück.

  3. Wenn das fehlschlägt, verwenden Sie „us-east-2" als letzten Fallback.