Auflisten von Amazon S3-Allzweck-Buckets - Amazon Simple Storage Service

Auflisten von Amazon S3-Allzweck-Buckets

Um eine Liste von Allzweck-Buckets zurückzugeben, die Sie besitzen, können Sie ListBuckets verwenden. Sie können Ihre Buckets mithilfe der Amazon-S3-Konsole, der AWS Command Line Interface oder der AWS-SDKs auflisten. Für ListBuckets-Anfragen, die die AWS CLI, AWS-SDKs und Amazon-S3-REST-API verwenden, AWS-Konten, die das Standard-Servicekontingent für Buckets (10 000 Buckets) verwenden, werden sowohl paginierte als auch unpaginierte Anfragen unterstützt. Unabhängig davon, wie viele Buckets Sie in Ihrem Konto haben, können Sie Seitengrößen zwischen 1 und 10 000 Buckets erstellen, um alle Ihre Buckets aufzulisten. Bei paginierten Anfragen geben ListBuckets-Anfragen sowohl die Bucket-Namen als auch die entsprechenden Namen für jeden AWS-Regionen-Bucket zurück. Die folgenden AWS Command Line Interface- und AWS-SDK-Beispiele zeigen Ihnen, wie Sie die Paginierung in Ihrer ListBuckets-Anfrage verwenden. Beachten Sie, dass einige AWS-SDKs bei der Paginierung helfen.

Berechtigungen

Zum Auflisten sämtlicher Allzweck-Buckets benötigen Sie die Berechtigung s3:ListAllMyBuckets. Wenn bei Ihnen ein HTTP Access Denied (403 Forbidden)-Fehler auftritt, finden Sie weitere Informationen unter Beheben von „Zugriff verweigert“-Fehlern (403 Forbidden) in Amazon S3.

Wichtig

Wir empfehlen dringend, nur paginierte ListBuckets-Anfragen zu verwenden. Nicht paginierte ListBuckets-Anforderungen werden nur für AWS-Konten unterstützt, wenn das standardmäßige Allzweck-Bucket-Kontingent auf 10 000 festgelegt ist. Wenn Sie ein genehmigtes Kontingent für Allzweck-Buckets von mehr als 10 000 haben, müssen Sie paginierte ListBuckets-Anfragen senden, um die Buckets Ihres Kontos aufzulisten. Alle nicht paginierten ListBuckets-Anforderungen werden für AWS-Konten abgelehnt, wenn das Kontingent für Allzweck-Buckets mehr als 10 000 beträgt.

  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Allzweck-Buckets aus.

  3. Auf der Registerkarte Allzweck-Buckets finden Sie eine Liste Ihrer Allzweck-Buckets.

  4. Um Buckets nach Namen zu suchen, geben Sie einen Bucket-Namen in das Feld Buckets nach Namen suchen ein.

Um mit der AWS CLI eine Liste von Allzweck-Buckets zu generieren, können Sie die Befehle ls oder list-buckets verwenden. Die folgenden Beispiele zeigen, wie Sie eine paginierte list-buckets-Anfrage und eine unpaginierte ls-Anfrage erstellen. Wenn Sie diese Beispiele verwenden möchten, ersetzen Sie die Platzhalter für Benutzereingaben.

Beispiel – Alle Buckets in Ihrem Konto mithilfe von ls (unpaginiert) auflisten

Mit dem folgenden Beispielbefehl werden alle Allzweck-Buckets in Ihrem Konto in einem einzigen nicht paginierten Aufruf aufgelistet. Dieser Aufruf gibt eine Liste aller Buckets in Ihrem Konto zurück (bis zu 10 000 Ergebnisse):

$ aws s3 ls

Weitere Informationen finden Sie unter Auflisten von Buckets und Objekten.

Beispiel – Alle Buckets in Ihrem Konto mithilfe von ls (paginiert) auflisten

Der folgende Beispielbefehl führt einen oder mehrere paginierte Aufrufe durch, um alle Allzweck-Buckets in Ihrem Konto aufzulisten, wobei 100 Buckets pro Seite zurückgegeben werden:

$ aws s3 ls --page-size 100

Weitere Informationen finden Sie unter Auflisten von Buckets und Objekten.

Beispiel – Alle Buckets in Ihrem Konto auflisten (paginiert)

Das folgende Beispiel enthält einen paginierten list-buckets-Befehl, mit dem Sie alle Allzweck-Buckets in Ihrem Konto auflisten können. Die Optionen --max-items und --page-size begrenzen die Anzahl der aufgelisteten Buckets auf 100 pro Seite.

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

Wenn die Anzahl der ausgegebenen Elemente (--max-items) geringer als die Gesamtanzahl der Elemente ist, die von den zugrunde liegenden API-Aufrufen zurückgeliefert werden, enthält die Ausgabe ein Fortsetzungs-Token, angegeben durch ein starting-token-Argument. Dieses können Sie in einem anschließenden Befehl zum Abrufen der nächsten Gruppe von Elementen übergeben. Im folgenden Beispiel wird gezeigt, wie Sie den im vorherigen Beispiel zurückgegebenen starting-token-Wert verwenden. Sie können starting-code angeben, dass die nächsten 100 Buckets abgerufen werden sollen.

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

Beispiel – Alle Buckets in einer AWS-Region auflisten (paginierten)

Der folgende Beispielbefehl verwendet den --bucket-region-Parameter, um bis zu 100 Buckets in einem Konto aufzulisten, die sich in derRegion us-east-2 befinden. Anfragen an einen regionalen Endpunkt, der sich von dem im --bucket-region-Parameter angegebenen Wert unterscheidet, werden nicht unterstützt. Wenn Sie beispielsweise die Antwort auf Ihre Buckets in us-east-2 beschränken möchten, müssen Sie Ihre Anfrage an einen Endpunkt in us-east-2 richten.

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

Beispiel – Alle Buckets auflisten, die mit einem bestimmten Bucket-Namenspräfix beginnen (paginiert)

Der folgende Beispielbefehl listet bis zu 100 Buckets auf, deren Name mit dem Präfix amzn-s3-demo-bucket beginnt.

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

Die folgenden Beispiele veranschaulichen, wie Sie Ihre Allzweck-Buckets mithilfe der AWS -SDKs auflisten.

SDK for Python
Beispiel – ListBuckets-Anfrage (paginiert)
import boto3 s3 = boto3.client('s3') response = s3.list_buckets(MaxBuckets=100)
Beispiel – ListBuckets-Antwort (paginiert)
import boto3 s3 = boto3.client('s3') response = s3.list_buckets(MaxBuckets=1,ContinuationToken="eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==EXAMPLE--")
SDK for Java

Beispiele für das Auflisten von Buckets mit dem AWS SDK für Java finden Sie unter Buckets auflisten in der Amazon S3 API Referenz.

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) }