2012-11-09 3 views

Antwort

27

Sie können eine Bucket-Richtlinie erstellen, die alle Ressourcen (oder diejenigen, die einem Platzhalter entsprechen) verfügbar macht.

Klicken Sie auf Ihre Eimer Eigenschaften auf aws S3-Konsole und bearbeiten Sie den Eimer Politik so etwas wie:

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "auniqueid", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     } 
    ] 
} 

Wo bucket im Resource Parameter Ihre Bucket-Name ist.

Sie können auch öffentliche Erlaubnis für eine bestimmte Datei über Java API gesetzt:

PutObjectRequest por = new PutObjectRequest(bucketName, key, file); 
por.setCannedAcl(CannedAccessControlList.PublicRead); 
s3.putObject(por); 
+0

Ich war für Java-API-Code suchen. Dieser hat wie ein Zauber gearbeitet. Vielen Dank. – slonkar

+1

Ich suchte nach .NET und funktioniert auch, danke! –

+0

Für die .Net Leute würde die genaue Zeile 'por.CannedACL = S3CannedACL.PublicRead;' – Grandizer