Elenco di bucket per uso generico Amazon S3 - Amazon Simple Storage Service

Elenco di bucket per uso generico Amazon S3

Per restituire un elenco di bucket per uso generico che si possiedono, si può usare ListBuckets. È possibile elencare i propri bucket utilizzando la console Amazon S3, AWS Command Line Interface o gli SDK AWS. Per le richieste ListBuckets che utilizzano gli SDK AWS CLI, AWS e le REST API di Amazon S3, Account AWS che utilizzano la quota di servizio predefinita per i bucket (10.000 bucket) supportano sia le richieste impaginate sia quelle non impaginate. Indipendentemente dal numero di bucket presenti nell'account, è possibile creare pagine di dimensioni comprese tra 1 e 10.000 bucket per elencare tutti i bucket. Per le richieste impaginate, le richieste ListBuckets restituiscono sia i nomi dei bucket sia il corrispondente Regioni AWS per ogni bucket. I seguenti esempi dell'SDK AWS Command Line Interface e AWS mostrano come utilizzare l'impaginazione nella richiesta ListBuckets. Si noti che alcuni SDK AWS consentono l'impaginazione.

Autorizzazioni

Per elencare tutti i bucket per uso generico, è necessario disporre dell’autorizzazione s3:ListAllMyBuckets. Se si verifica un errore HTTP Access Denied (403 Forbidden), consulta Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3.

Importante

Si consiglia vivamente di utilizzare solo richieste ListBuckets impaginate. Le richieste non impaginate di ListBuckets sono supportate solo per Account AWS impostato sulla quota predefinita di 10.000 bucket per uso generico. Se si dispone di una quota di bucket per uso generico approvata superiore a 10.000, è necessario inviare richieste ListBuckets impaginate per elencare i bucket del proprio account. Tutte le richieste non impaginate di ListBuckets saranno rifiutate per Account AWS con una quota di bucket per uso generico superiore a 10.000.

  1. Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/.

  2. Nel riquadro di navigazione sinistro, scegli Bucket per uso generico.

  3. Nella scheda Bucket per uso generico è possibile visualizzare un elenco dei bucket per uso generico.

  4. Per trovare i bucket in base al nome, inserisci il nome di un bucket nel campo Trova bucket in base al nome.

Per utilizzare AWS CLI per generare un elenco di bucket per uso generico, è possibile utilizzare i comandi ls o list-buckets. Gli esempi seguenti mostrano come creare una richiesta list-buckets impaginata e una richiesta ls non impaginata. Per utilizzare questi esempi, sostituisci i segnaposto inseriti dall'utente.

Esempio - Elenca tutti i bucket dell'account utilizzando ls (senza impaginazione)

Il seguente esempio di comando elenca tutti i bucket per uso generico dell'account in un'unica chiamata non impaginata. Questa chiamata restituisce un elenco di tutti i bucket dell'account (fino a 10.000 risultati):

$ aws s3 ls

Per ulteriori informazioni e esempi, consulta Elenco di bucket e oggetti.

Esempio - Elenca tutti i bucket dell'account utilizzando ls (con impaginazione)

Il seguente esempio di comando effettua una o più chiamate impaginate per elencare tutti i bucket per uso generico dell'account, restituendo 100 bucket per pagina:

$ aws s3 ls --page-size 100

Per ulteriori informazioni e esempi, consulta Elenco di bucket e oggetti.

Esempio - Elenca tutti i bucket dell'account (con impaginazione)

L'esempio seguente fornisce un comando impaginato list-buckets per elencare tutti i bucket per uso generico dell'account. Le opzioni --max-items e --page-size limitano il numero di bucket elencati a 100 per pagina.

$ aws s3api list-buckets / --max-items 100 / --page-size 100

Se il numero di elementi in uscita (--max-items) è inferiore al numero totale di elementi restituiti dalle chiamate API sottostanti, l'output include un token di continuazione, specificato dall'argomento starting-token, che può essere trasmesso a un comando successivo per recuperare la serie successiva di elementi. L'esempio seguente mostra come utilizzare il valore starting-token restituito dall'esempio precedente. È possibile specificare starting-code per recuperare i 100 bucket successivi.

$ aws s3api list-buckets / --max-items 100 / --page-size 100 / --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==

Esempio - Elenca tutti i bucket in Regione AWS (con impaginazione)

Il seguente esempio di comando utilizza il parametro --bucket-region per elencare fino a 100 bucket in un account che si trovano nella Regione us-east-2. Le richieste effettuate a un endpoint regionale diverso dal valore specificato nel parametro --bucket-region non sono supportate. Ad esempio, se si vuole limitare la risposta ai propri bucket in us-east-2, si deve fare la richiesta a un endpoint in us-east-2.

$ aws s3api list-buckets / --region us-east-2 / --max-items 100 / --page-size 100 / --bucket-region us-east-2

Esempio - Elenca tutti i bucket che iniziano con un prefisso specifico del nome del bucket (con impaginazione)

Il seguente esempio di comando elenca fino a 100 bucket che hanno un nome che inizia con il prefisso amzn-s3-demo-bucket.

$ aws s3api list-buckets / --max-items 100 / --page-size 100 / --prefix amzn-s3-demo-bucket

I seguenti esempi mostrano come elencare i bucket per uso generico utilizzando gli SDK AWS

SDK for Python
Esempio - Richiesta ListBuckets (con impaginazione)
import boto3 s3 = boto3.client('s3') response = s3.list_buckets(MaxBuckets=100)
Esempio - Risposta ListBuckets (con impaginazione)
import boto3 s3 = boto3.client('s3') response = s3.list_buckets(MaxBuckets=1,ContinuationToken="eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==EXAMPLE--")
SDK for Java

Per esempi su come elencare i bucket con AWS SDK per Java, consulta Elenco di bucket nella Guida di riferimento delle API di Amazon S3.

SDK for Go
package main import ( "context" "fmt" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/s3" ) func main() { cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-2")) if err != nil { log.Fatal(err) } client := s3.NewFromConfig(cfg) maxBuckets := 1000 resp, err := client.ListBuckets(context.TODO(), management portals3.ListBucketsInput{MaxBuckets: aws.Int32(int32(maxBuckets))}) if err != nil { log.Fatal(err) } fmt.Println("S3 Buckets:") for _, bucket := range resp.Buckets { fmt.Println("- Name:", *bucket.Name) fmt.Println("-BucketRegion", *bucket.BucketRegion) } fmt.Println(resp.ContinuationToken == nil) fmt.Println(resp.Prefix == nil) }