[PYTHON] Verwenden Sie Boto3, um über 1000 Präfixe aus der Dateiliste von S3 abzurufen

Als Memorandum

Standardmäßig können Sie von S3 nur bis zu 1000 Präfixe abrufen. Wenn Sie also 1000 oder mehr haben, verwenden Sie den Paginator.

Boto3-Dokumente

import boto3

# Create a client
client = boto3.client('s3', region_name='us-west-2')

# Create a reusable Paginator
paginator = client.get_paginator('list_objects')

# Create a PageIterator from the Paginator
page_iterator = paginator.paginate(Bucket='my-bucket')

for page in page_iterator:
    print(page['Contents'])

Wie oben im Dokument standardmäßig erwähnt, wird die Liste der 1000 Präfixe in der Liste des page_iterator gespeichert. Ich werde sie erweitern, um sie leichter handhaben zu können.

import boto3
import itertools

client = boto3.client('s3', region_name='us-west-2')
paginator = client.get_paginator('list_objects')
page_iterator = paginator.paginate(Bucket='my-bucket')
contents = list(itertools.chain.from_iterable(page_iterator))

Jetzt können Sie über 1000 Präfixe verarbeiten

Recommended Posts

Verwenden Sie Boto3, um über 1000 Präfixe aus der Dateiliste von S3 abzurufen
Entfernen oder Abrufen von Arrays aus Fasta gemäß der ID-Listendatei
Verwendung der Liste []
[Python] Verwendung von Liste 1
Wie man SWIG von waf benutzt
[Python] Verwendung von Liste 3 Hinzugefügt
Verwenden Sie boto3, um zu S3 zu gelangen
Verwenden Sie BeautifulSoup, um einen Link mit einer Zeichenfolge aus einer HTML-Datei zu extrahieren
Skript zum Generieren eines Verzeichnisses aus einer JSON-Datei
Verwenden Sie boto, um die Datei von S3 herunterzuladen.
[TF] Verwendung von Tensorboard von Keras
Ich möchte ein Glas aus Python verwenden
Verwenden Sie numpys .flatten () [0], um den Wert abzurufen
Listenelemente ohne '' verbinden. (String aus der Liste ohne '' abrufen)
Zusammenfassung der Verwendung der Python-Liste
Verwenden Sie boto, um Dateien auf s3 hoch- / herunterzuladen.