Ich kann keine Datei herunterladen oder eine Auflistung der öffentlichen S3-Bucket mit boto3
.Herunterladen von Dateien aus öffentlichen S3-Bucket mit Boto3
Der folgende Code funktioniert mit meinem eigenen Eimer, aber nicht mit öffentlichen one:
def s3_list(bucket, s3path_or_prefix):
bsession = boto3.Session(aws_access_key_id=settings.AWS['ACCESS_KEY'],
aws_secret_access_key=settings.AWS['SECRET_ACCESS_KEY'],
region_name=settings.AWS['REGION_NAME'])
s3 = bsession.resource('s3')
my_bucket = s3.Bucket(bucket)
items = my_bucket.objects.filter(Prefix=s3path_or_prefix)
return [ii.key for ii in items]
Ich erhalte ein AccessDenied
Fehler auf diesem Code. Der Bucket ist nicht in meinem Besitz und ich kann dort keine Berechtigungen setzen, aber ich bin mir sicher, dass er öffentlich lesbar ist.
Welche öffentlichen Eimer Sie bisher versucht haben? – baldr
Das Code-Snippet in der Frage funktioniert für mich mit den richtigen Anmeldeinformationen, obwohl Sie auch 's3 = boto3.resource ('s3')' direkt verwenden können, anstatt 'boto3.Session'-Objekt explizit zu erstellen. –
Ich habe versucht, 's3: // nasanex/MODIS' Eimer zu verwenden –