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:
- Apri la console Amazon S3, quindi accedi al bucket S3.
- Scegli la scheda Proprietà.
- 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