Sie können eine Datei über boto3 von einem RequesterPays S3 Eimer herunterladen, wie folgt:Wie Boto3 (oder andere Python) verwenden, um den Inhalt eines _RequesterPays_ S3-Buckets aufzulisten?
s3_client.download_file('aws-naip', 'md/2013/1m/rgbir/38077/{}'.format(filename), full_path, {'RequestPayer':'requester'})
Was ist, kann ich nicht herausfinden, wie die Objekte in dem Eimer Liste ... ich einen Authentifizierungsfehler erhalten, wenn Ich versuche, objects.all() auf dem Bucket aufzurufen.
Wie kann ich mit boto3 den Inhalt eines RequesterPays-Buckets aufzählen? Bitte beachten Sie, dass dies eine besondere Art von Eimer ist, wo der Anforderer die S3-Gebühren bezahlt.
Ich denke, die letzte Hälfte dieser Antwort ist wahrscheinlich die wahre Antwort. Unter der Haube ruft 'objects.all'' list_objects' auf, so dass das Ablegen auf den Low-Level-Client das Problem nicht löst. Es ist wahrscheinlich ein Erlaubnisproblem. –
Diese Antwort ist nicht korrekt, da der Name des Buckets 'aws-naip' und 'RequesterPays' eine Eigenschaft ist, die Sie mit einigen boto3-Methoden (kein Bucket-Name) festlegen. RequesterPays bezieht sich auf einen bestimmten Anforderungsheader, der wie folgt aussehen würde, wenn er einer Anfrage hinzugefügt wird: {'RequestPayer': 'Requester'} –