2016-07-29 7 views
0

Ich habe mehrere PDF-Dateien im folgenden Pfad (user/pdf/) in AWS S3 hochgeladen. So wird dieser Pfad für jede Datei wie user/pdf/file1.pdf, user/pdf/file2.pdf, usw. sein.Abrufen von Dateien aus AWS S3 in Ruby

In meiner Website (Angular Frontend und Rails Backend) versuche ich 3 Dinge zu tun. 1) Abrufen von Dateien in bestimmten Pfad (user/pdf/). 2) Machen Sie eine Ansicht, die Namen der Dateien auflistet, die ich von bestimmten Pfad abgerufen habe. 3) Lassen Sie die Benutzer auf den Namen der Datei klicken, und die Datei wird mit dem S3-Endpunkt geöffnet. 4) Löschen Sie die Datei durch Klicken auf eine Schaltfläche.

Ich habe AWS S3 doc untersucht, konnte jedoch keine verwandten API-Aufrufe aus dem Dokument finden. Würde gerne etwas Hilfe bei der Ausführung der oben genannten Aktionen bekommen.

+0

Bitte benutzen Sie diese API doc lesen https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html – error2007s

Antwort

1

sollten Sie die ruby S3 sdk doc

  1. Auflistung Objekte aus einem Eimer

    # enumerate ALL objects in the bucket (even if the bucket contains 
    # more than 1k objects) 
    bucket.objects.each do |obj| 
        puts obj.key 
    end 
    
    # enumerate at most 20 objects with the given prefix 
    bucket.objects.with_prefix('photos/').each(:limit => 20) do |photo| 
        puts photo.key 
    end 
    
  2. bewertet ein Objekt bekommen

    # makes no request, returns an AWS::S3::S3Object 
    obj = bucket.objects['key'] 
    
  3. Löschen eines Objekts

    bucket.objects.delete('abc') 
    
+0

Hallo. Was ist "key" und "abc" in # 2 und # 3? – JoHksi

+0

Es ist die gleiche es der S3-Schlüssel in Ihrem Fall file1.pdf einschließlich voller Pfad –

+0

so Schlüssel ist im Grunde nur ein Pfad einschließlich Dateiname, nicht wahr? Separat kann ich einen bestimmten Pfad in 'with_prefix ('photos /') 'zuweisen, richtig? – JoHksi