Direkt zum Inhalt

Wie behebe ich den Fehler „IllegalLocationConstraintException“ für Amazon S3-Buckets in einer anderen Region?

Lesedauer: 2 Minute
0

Ich habe versucht, auf einen Amazon Simple Storage Service (Amazon S3)-Bucket in einer anderen AWS-Region zuzugreifen, und habe den Fehler „IllegalLocationConstraintException“ erhalten.

Kurzbeschreibung

Du kannst nicht auf einen Amazon S3-Bucket aus einer Region zugreifen, die sich von der Region des Buckets unterscheidet. Um auf den S3-Bucket zuzugreifen, musst du die API oder das AWS-SDK so aktualisieren, dass es sich in derselben Region wie der Bucket befindet. Weitere Informationen zum Fehler IllegalLocationConstraintException findest du in der Liste der Fehlercodes.

Lösung

Verwende die folgenden Schritte zur Fehlerbehebung, um die Region des Buckets abzurufen und die Amazon S3-Endpunkte auf die richtige Region zu aktualisieren.

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Die Amazon S3-Bucket-Region bestätigen

Um die S3-Bucket-Region zu bestätigen, kannst du die Amazon S3-Konsole oder die AWS-CLI verwenden.

Amazon S3-Konsole

Führe die folgenden Schritte aus:

  1. Öffne die Amazon S3-Konsole und navigiere dann zu deinem S3-Bucket.
  2. Wähle die Registerkarte Eigenschaften.
  3. Notiere dir in der Bucket-Übersicht die AWS-Region für den Bucket.

AWS CLI

Führe den folgenden Befehl get-bucket-location aus:

aws s3api get-bucket-location --bucket BUCKET_NAME

Hinweis: Ersetze BUCKET_NAME durch den Namen deines S3-Buckets.

Beispielausgabe:

{      
"LocationConstraint": "us-west-2"  
}

**Hinweis:**Wenn der Anforderungsparameter LocationConstraint null oder leer ist, befindet sich der Bucket in der Region us-east-1.

Die API- oder AWS-SDK-Regionskonfiguration aktualisieren

Führe die folgenden Schritte aus, um die API- oder AWS-SDK-Konfiguration auf die richtige Region zu aktualisieren.

AWS CLI

Führe den folgenden ls-Befehl aus und füge den Parameter --region hinzu:

aws s3 ls s3://BUCKET_NAME --region YOUR_REGION

Hinweis: Ersetze BUCKET_NAME durch den S3-Bucket-Namen und YOUR_REGION durch deine Region.

AWS SDK

Wenn du das AWS-SDK verwendest, aktualisiere die Konfiguration, um die richtige Region anzugeben.

Beispiel für eine Konfiguration des AWS-SDK für Python (Boto3):

import boto3

   s3 = boto3.client('s3', region_name='YOUR-REGION')
   response = s3.list_objects_v2(Bucket='BUCKET_NAME')
   print(response)

Hinweis: Ersetze YOUR_REGION durch deine Region und BUCKET_NAME durch Bucket-Name.IllegalLocationConstraintException

AWS OFFICIALAktualisiert vor einem Jahr