Programmgesteuertes Auflisten von Objektschlüsseln - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Programmgesteuertes Auflisten von Objektschlüsseln

In Amazon S3 können Schlüssel nach Präfix aufgelistet werden. Sie können ein allgemeines Präfix für die Namen verwandter Schlüssel wählen und diese Schlüssel mit einem Sonderzeichen markieren, das die Hierarchie begrenzt. Sie können dann die Listenoperation verwenden, um Schlüssel hierarchisch auszuwählen und zu durchsuchen. In ähnlicher Weise werden Dateien in einem Dateisystem in Ordnern gespeichert.

Amazon S3 stellt eine Listenoperation bereit, die Ihnen ermöglicht, die in einem Bucket enthaltenen Schlüssel aufzulisten. Schlüssel werden nach Bucket und Präfix für die Auflistung ausgewählt. Angenommen, wir haben einen Bucket namens "dictionary", der einen Schlüssel für jedes englische Wort enthält. Sie können einen Aufruf ausführen, um alle Schlüssel in dem Bucket aufzulisten, die mit dem Buchstaben "q" beginnen. Listenergebnisse werden immer in binärer Reihenfolge von UTF -8 zurückgegeben.

SOAPSowohl die Operationen als auch die REST Listenoperation geben ein XML Dokument zurück, das die Namen der passenden Schlüssel und Informationen über das Objekt enthält, das durch die einzelnen Schlüssel identifiziert wird.

Anmerkung

SOAPSupport Over HTTP ist veraltet, aber SOAP immer noch verfügbar. HTTPS Neue Amazon S3 S3-Funktionen werden nicht unterstütztSOAP. Anstatt zu verwendenSOAP, empfehlen wir, entweder den REST API oder den zu verwenden AWS SDKs.

Gruppen von Schlüsseln, die ein gemeinsames Präfix haben, abgeschlossen mit einem speziellen Trennzeichen, können in einer Auflistung nach diesem gemeinsamen Präfix ausgegeben werden. Auf diese Weise können Anwendungen ihre Schlüssel hierarchisch organisieren und durchsuchen, ähnlich wie bei der Organisation Ihrer Dateien in Verzeichnissen in einem Dateisystem.

Um beispielsweise den dictionary-Bucket zu erweitern, um mehr als nur englische Wörter aufzunehmen, könnten Sie Schlüssel bilden, indem Sie jedem Wort ein Präfix für seine Sprache und ein Trennzeichen voranstellen, wie beispielsweise "French/logical". Mit Hilfe dieses Namensschemas und der Funktion zur hierarchischen Auflistung könnten Sie eine Liste nur mit französischen Wörtern abrufen. Sie könnten auch auf oberster Ebene eine Liste verfügbarer Sprachen durchsuchen, ohne alle lexikographischen Schlüssel durchlaufen zu müssen. Weitere Informationen über diesen Aspekt der Auflistung finden Sie unter Organisieren von Objekten mit Präfixen.

REST API

Wenn Ihre Bewerbung dies erfordert, können Sie REST Anfragen direkt senden. Sie können eine GET Anfrage senden, um einige oder alle Objekte in einem Bucket zurückzugeben, oder Sie können Auswahlkriterien verwenden, um eine Teilmenge der Objekte in einem Bucket zurückzugeben. Weitere Informationen finden Sie unter GETBucket (List Objects) Version 2 in der Amazon Simple Storage Service API Reference.

Effiziente Implementierung von Listen

Die Listenleistung wird von der Gesamtzahl der Schlüssel in Ihrem Bucket nicht wesentlich beeinflusst. Es ist auch nicht von der Anwesenheit oder Abwesenheit der Argumente prefix, marker, maxkeys oder delimiter betroffen.

Durchlaufen mehrseitiger Ergebnisse

Buckets können nahezu unbegrenzt viele Schlüssel enthalten, die vollständigen Ergebnisse einer Listenabfrage können deshalb extrem umfangreich sein. Um große Ergebnismengen zu verwalten, API unterstützt Amazon S3 die Paginierung, um sie in mehrere Antworten aufzuteilen. Jede Antwort für Listenschlüssel gibt eine Seite mit bis zu 1000 Schlüsseln zurück, mit einer Angabe, ob die Antwort gekürzt wurde. Sie senden eine Reihe von Anfragen nach Listenschlüsseln, bis Sie alle Schlüssel erhalten haben. AWS SDKWrapper-Bibliotheken bieten dieselbe Paginierung.

Beispiele

Sollen alle Objekte im Bucket aufgelistet werden, müssen Sie über die Berechtigung s3:ListBucket verfügen.

CLI
Objekte auflisten

Im folgenden Beispiel wird der list-objects Befehl verwendet, um die Namen aller Objekte im angegebenen Bucket anzuzeigen:

aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'

Im Beispiel wird das --query Argument verwendet, um die Ausgabe von list-objects nach Schlüsselwert und Größe für jedes Objekt zu filtern

Weitere Informationen zu Objekten finden Sie unter Working with Amazon S3 Objects im Amazon S3 Developer Guide.

  • APIEinzelheiten finden Sie ListObjectsunter AWS CLI Befehlsreferenz.

ls

Im folgenden Beispiel werden alle Objekte und Präfixe in einem Bucket mithilfe des ls Befehls aufgelistet.

Um diesen Beispielbefehl zu verwenden, ersetzen amzn-s3-demo-bucket mit dem Namen Ihres Buckets.

$ aws s3 ls s3://amzn-s3-demo-bucket
  • Weitere Informationen zum Befehl ls auf hoher Ebene finden Sie im AWS Command Line Interface Benutzerhandbuch unter Buckets und Objekte auflisten.

PowerShell
Tools für PowerShell

Beispiel 1: Dieser Befehl ruft die Informationen über alle Elemente im Bucket „test-files“ ab.

Get-S3Object -BucketName amzn-s3-demo-bucket

Beispiel 2: Dieser Befehl ruft die Informationen über das Objekt "sample.txt" aus dem Bucket „test-files“ ab.

Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt

Beispiel 3: Dieser Befehl ruft die Informationen über alle Elemente mit dem Präfix „sample“ aus dem Bucket „test-files“ ab.

Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample
  • APIEinzelheiten finden Sie unter ListObjectsCmdlet-Referenz.AWS Tools for PowerShell