Ich kann also die S3-Konsole sehen und in meinen Ordner mit der Dateiliste gelangen, aber ich finde keine Möglichkeit, die Gesamtzahl der darin enthaltenen Dateien zu ermitteln, außer über die Seitennummerierung, was bei Tausenden von Dateien nicht funktioniert.
Antwort1
Dadurch werden Ihre Objekte aufgelistet und am Ende wird die Gesamtzahl der Objekte und deren Größe angezeigt:
aws s3 ls s3://bucketName/path/ --recursive --summarize
Ersetzen Sie einfach „bucketName“ durch Ihren Bucket-Namen und „path“ ist eigentlich ein Ordner innerhalb eines Buckets, wenn Sie das auch benötigen (oder entfernen Sie es, wenn Sie den ganzen Bucket möchten).
Sie können s3api auch von der Befehlszeile aus verwenden:
aws s3api list-objects --bucket bucketName --query "[length(Contents[])]"
Wie im Kommentar erwähnt, kann es bei einem großen Eimer eine Weile dauern.
Antwort2
Wenn Sie nur die Anzahl der Dateien benötigen, ohne die Dateien tatsächlich auszudrucken, können Sie die Datei weiterleiten.@Caldazervorgeschlagen zu wc -l
mögen
aws s3 ls s3://bucketName/path/ | wc -l
Antwort3
Dies lässt sich ganz einfach direkt in der neuen S3-Konsole erledigen.
Wählen Sie wie hier gezeigt den S3-Bucket und dann den gewünschten Ordner aus. Klicken Sie anschließend auf die Actions
Schaltfläche und wählen Sie Get total size
wie hier gezeigt aus:
Anschließend sollte ein Popup angezeigt werden, in dem die Anzahl der Objekte im Ordner und die berechnete Größe wie folgt angezeigt werden:
Antwort4
Eine andere Möglichkeit, nur die Anzahl der Objekte in Ihrem Bucket zu erfassen, ist die Angabe grep
„Gesamtzahl der Objekte“. Diese Angabe ist Teil der Ausgabe, die automatisch angezeigt wird, wenn Sie Folgendes verwenden --summarize
:
aws s3 ls s3://bucketName/path/ --recursive --summarize | grep "Total Objects:"
Für einen Ordner mit 1633 Dateien wird Folgendes zurückgegeben:
Total Objects: 1633