Vai al contenuto principale

Risoluzione dei problemi — Bucket S3

AccessDenied durante l'accesso al bucket​

Causa: le chiavi utilizzate sono errate, il nome del bucket utilizzato non è il nome S3 effettivo, oppure l'utente è in sola lettura e tenta una scrittura.

Soluzione:

  1. Apra la pagina del bucket e annoti il Bucket name nella scheda Access & Configuration. Utilizzi questo nome, e non il nome inserito nella procedura guidata:
    aws --endpoint-url https://<endpoint> s3 ls s3://<nome-del-bucket-s3>/
  2. Verifichi nella scheda Users & Access il diritto dell'utente (Read-only o Read / Write); se necessario, lo modifichi con Edit access.
  3. Verifichi che l'Access Key ID e la Secret Access Key siano configurate correttamente nel suo strumento. Se la chiave segreta è andata persa, crei un nuovo utente.

ListBucket non riesce sulla radice​

Causa: le chiavi di un utente sono limitate al suo bucket. Non è possibile elencare tutti i bucket dell'endpoint.

Soluzione:

  1. Indichi sempre il bucket nei suoi comandi:
    aws --endpoint-url https://<endpoint> s3 ls s3://<nome-del-bucket-s3>/
    mc ls hikube/<nome-del-bucket-s3>/
  2. Per vedere tutti i suoi bucket, utilizzi la pagina Object Storage Buckets della console.

Credenziali introvabili​

Causa: la chiave segreta viene mostrata solo alla creazione dell'utente, oppure non è stato creato alcun utente (ad esempio se il bucket non era pronto al termine della procedura guidata).

Soluzione:

  1. Apra la pagina del bucket e verifichi la scheda Users & Access.
  2. Faccia clic su Add User per creare un utente e ottenere nuove chiavi.
  3. L'endpoint e il nome S3 restano consultabili in qualsiasi momento in Access & Configuration.

«No S3 connection information available currently»​

Causa: il bucket è ancora in fase di provisioning, oppure non ha ancora alcun utente: il nome S3 e l'endpoint compaiono con il suo primo utente.

Soluzione: attenda che lo stato del bucket passi a Ready, crei se necessario un utente con Add User, quindi ricarichi la pagina. Se lo stato resta Provisioning o passa a Error, contatti il supporto indicando il nome del bucket e il suo identificativo.


Creazione non riuscita: «A bucket with this name already exists»​

Causa: un bucket del progetto ha già questo nome.

Soluzione: torni al passaggio General della procedura guidata e scelga un altro Bucket name.


Gli oggetti sono scomparsi dopo l'eliminazione di un bucket​

Causa: l'eliminazione di un bucket senza blocco elimina anche tutti i suoi oggetti, anche se non è vuoto, senza possibilità di recupero. La finestra di conferma lo indica. Fa eccezione un bucket bloccato (WORM): i suoi oggetti sono conservati dopo l'eliminazione.

Soluzione: prima di eliminare un bucket, copi gli oggetti da conservare, ad esempio sulla sua postazione:

aws --endpoint-url https://<endpoint> s3 sync s3://<nome-del-bucket-s3>/ ./backup-bucket/

L'eliminazione del bucket non riesce​

Soluzione: riprovi l'eliminazione dalla console. Se l'errore persiste, contatti il supporto indicando il nome del bucket.


Upload lento o timeout​

Causa: problema di rete, file di grandi dimensioni inviato senza multipart upload.

Soluzione:

  1. Verifichi la connettività verso l'endpoint:
    curl -s -o /dev/null -w "%{time_total}\n" https://<endpoint>
  2. Per i file di grandi dimensioni, utilizzi un client che gestisca il multipart upload: aws s3 cp e mc cp lo fanno automaticamente oltre una certa dimensione.
  3. Se necessario, aumenti il parallelismo lato client (ad esempio aws configure set default.s3.max_concurrent_requests 20).

AccessDenied con il nome mostrato alla creazione di un utente​

Causa: il client S3 utilizza il nome scelto nella console (ad esempio demo-assets) invece del nome S3 effettivo (bucket-…). Le versioni precedenti della console potevano mostrare questo nome al posto del nome S3 alla creazione di un bucket o di un utente. Le chiavi di un utente danno accesso solo al bucket S3 effettivo: qualsiasi altro nome viene rifiutato con AccessDenied, mai NoSuchBucket, anche se nella console esiste un bucket con questo nome.

Soluzione: annoti il Bucket name nella scheda Access & Configuration della pagina del bucket e lo utilizzi al suo posto nella configurazione dei suoi client. Le chiavi dell'utente restano valide.

avviso

Non confonda il nome del bucket nella console con il suo nome S3. Solo il secondo funziona con i client S3.