Ich habe in meinem S3 Konto über einen Webbrowser S3 Eimer Richtlinie festgelegtWenn die S3-Bucket-Richtlinie in der AWS-Website festgelegt ist, sollte ich dies in meinem Java-Code erneut tun, der in einer Ec2-Instanz ausgeführt wird?
https://i.stack.imgur.com/sppyr.png
Mein Problem ist, wenn der Java-Code von meinem Web-app in meinem lokalen Laptop lief, es Bild S3 hochgeladen.
Aber wenn ich meine Webanwendung auf Elastic Beanstalk bereitstellen, werden Bilder nicht erfolgreich auf S3-Objekt hochgeladen. Also sollte ich programmgesteuert S3-Bucket-Richtlinie in meinem Java-Code programmieren?
PS: Weitere Details, die nützlich sein können: Why am I able to upload to AWS S3 from my localhost, but not from my AWS Elastic BeanStalk instance?
Danke für Ihre Antwort. Ich lese gerade diese Dokumentation. Ich bin irgendwie in diesem Dokument betroffen. Was ist der Schlüssel, dass sie sich beziehen, wie in diesem Dokument erwähnt S3Object s3object = s3Client.getObject ( neu GetObjectRequest (bucketname, key)); http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-roles.html –
Sie über Tasten lesen Sie hier: http: //docs.aws.amazon. com/AmazonS3/neueste/dev/UsingMetadata.html # Objektschlüssel. – jarmod
Ok, eine Sekunde zurücktreten, "Stattdessen läuft dein ......" - 1) Also für beide Lauf Webapp in meinem Laptop und läuft Webapp in AWS EC2, wir sollten "Verwenden Sie den Standard Credential Provider Kette (empfohlen)." 2) Ich habe eine Rolle erstellt und eine Zugriffsrichtlinie erstellt und sie meiner Ec2-Instanz zugewiesen. Jetzt bin ich getroffen, welche dieser Methoden ich verwenden sollte a) DefaultAWSCredentialsProviderChain b) InstanceProfileCredentialsProvider 3) Es gibt keine accessKey & secKey für Rollen? 4) Wie kann ich konsistente AWS-Anmeldedaten zwischen meinem Laptop und Ec2 verwenden? Bitte helfen. –