Passer au contenu

Comment résoudre l'erreur « IllegalLocationConstraintException » pour les compartiments Amazon S3 situés dans une autre région ?

Lecture de 3 minute(s)
0

J'ai essayé d'accéder à un compartiment Amazon Simple Storage Service (Amazon S3) dans une autre région AWS et j'ai reçu l'erreur « IllegalLocationConstraintException ».

Brève description

Vous ne pouvez pas accéder à un compartiment Amazon S3 depuis une région différente de celle du compartiment. Pour accéder au compartiment S3, vous devez mettre à jour votre API ou votre SDK AWS afin qu'il se trouve dans la même région que le compartiment. Pour plus d'informations sur l'erreur IllegalLocationConstraintException, consultez la section Liste des codes d'erreur.

Résolution

Suivez les étapes de dépannage suivantes pour obtenir la région du compartiment et mettre à jour vos points de terminaison Amazon S3 vers la région appropriée.

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Confirmer la région du compartiment Amazon S3

Pour confirmer la région du compartiment S3, vous pouvez utiliser la console Amazon S3 ou l'interface de ligne de commande AWS.

Console Amazon S3

Procédez comme suit :

  1. Ouvrez la console Amazon S3, puis accédez à votre compartiment S3.
  2. Choisissez l’onglet Propriétés.
  3. Dans Présentation des compartiments, notez la région AWS de votre compartiment.

AWS CLI

Exécutez la commande get-bucket-location suivante :

aws s3api get-bucket-location --bucket BUCKET_NAME

Remarque : Remplacez bucket-name par le nom de votre compartiment S3.

Exemple de sortie :

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

Remarque : Si le paramètre de requête LocationConstraint est nul ou vide, le compartiment se trouve dans la région us-east-1.

Mettre à jour la configuration de votre API ou de la région du SDK AWS

Procédez comme suit pour mettre à jour la configuration de votre API ou du SDK AWS vers la région appropriée.

AWS CLI

Exécutez la commande ls suivante et ajoutez le paramètre --region :

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

Remarque : Remplacez BUCKET_NAME par le nom de votre compartiment S3 et YOUR_REGION par votre région.

SDK AWS

Si vous utilisez le SDK AWS, mettez à jour votre configuration pour spécifier la région appropriée.

Exemple de configuration du SDK AWS pour Python (Boto3) :

import boto3

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

Remarque : Remplacez YOUR_REGION par votre région et BUCKET_NAME par le nom de votre compartiment name.IllegalLocationConstraintException

AWS OFFICIELA mis à jour il y a un an