2017-07-08 6 views
0

Verwenden von Java AWS SDK Ich habe eine Lambda-Funktion zum Lesen einer CSV-Datei aus einem S3-Bucket erstellt. Ich habe den Bucket veröffentlicht und kann von jedem Browser aus auf ihn und die Datei zugreifen. Um es zu testen, verwende ich die Test-Taste an der Lambda-Konsole. Ich benutze nur die Hello World Test Config Input-Vorlage.
Fehler bei:Fehler beim Zugriff auf s3-Bucket von Lambda - InvalidBucketName

Fehlermeldung: Der angegebene Bucket ist nicht gültig. (Service: Amazon S3; Statuscode: 400; Fehlercode: InvalidBucketName; Anfrage-ID: XXXXXXXXXXXXXXX)

Lambda-Funktion und S3-Bucket befinden sich in derselben Region (us-east-1).

Ich habe AmazonS3FullAccess zur Rolle lambda_basic_execution hinzugefügt.

AmazonS3 s3Client = AmazonS3ClientBuilder.standard().build(); 

auch versucht

AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); 

dann den Anruf

S3Object s3object = s3Client.getObject(new GetObjectRequest(
       bucketName, keyName)); 

bucketname ist:

https://s3.amazonaws.com/<allAlphaLowerCaseBucketName> 

keyName ist:

<allAlphaLowerCaseKeyName>.csv 

Jede Hilfe wird geschätzt.

Antwort

2

Der Bucket-Name ist nicht die URL des Buckets, sondern nur der tatsächliche Name Ihres Buckets.

Verwandte Themen