Salta al contenuto

Come posso risolvere l'errore "IllegalLocationConstraintException" di un bucket Amazon S3 in una Regione diversa?

2 minuti di lettura
0

Ho provato ad accedere a un bucket Amazon Simple Storage Service (Amazon S3) in una Regione AWS diversa e ho ricevuto l'errore "IllegalLocationConstraintException".

Breve descrizione

Non puoi accedere a un bucket Amazon S3 da una Regione diversa dalla Regione del bucket. Per accedere al bucket S3, devi aggiornare l'API o AWS SDK in modo che si trovino nella stessa Regione del bucket. Per ulteriori informazioni sull'errore IllegalLocationConstraintException, consulta List of error codes (Elenco dei codici di errore).

Risoluzione

Utilizza i seguenti passaggi per la risoluzione dei problemi per ottenere la Regione del bucket e aggiornare gli endpoint Amazon S3 impostando la Regione corretta.

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Verifica la Regione del bucket Amazon S3

Per verificare la Regione del bucket S3, puoi utilizzare la console Amazon S3 o AWS CLI.

Console Amazon S3

Completa i seguenti passaggi:

  1. Apri la console Amazon S3, quindi accedi al bucket S3.
  2. Scegli la scheda Proprietà.
  3. In Panoramica del bucket, annota la Regione AWS del bucket.

AWS CLI

Esegui questo comando get-bucket-location:

aws s3api get-bucket-location --bucket BUCKET_NAME

Nota: sostituisci BUCKET_NAME con il nome del tuo bucket S3.

Esempio di output:

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

Nota: se il parametro di richiesta LocationConstraint è nullo o vuoto, il bucket si trova nella Regione us-east-1.

Aggiorna la configurazione della Regione dell'API o di AWS SDK

Completa i seguenti passaggi per aggiornare la configurazione dell'API o di AWS SDK impostando la Regione corretta.

AWS CLI

Esegui questo comando ls e aggiungi il parametro --region:

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

Nota: sostituisci BUCKET_NAME con il nome del tuo bucket S3 e YOUR_REGION con la tua Regione.

AWS SDK

Se utilizzi AWS SDK, aggiorna la configurazione per specificare la Regione corretta.

Esempio di configurazione di AWS SDK per Python (Boto3):

import boto3

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

Nota: sostituisci YOUR_REGION con la tua Regione e BUCKET_NAME con il tuo bucket name. IllegAllocationConstraintException

AWS UFFICIALEAggiornata un anno fa