Amazon S3: Was wird als PUT / COPY / POST / LIST-Anfrage betrachtet?

8

Bitte bestätigen Sie, ob dies korrekt ist:

  • PUT lädt wahrscheinlich Dateien in S3 hoch?
  • COPY kopiert wahrscheinlich Dateien in S3?

Wie wäre es mit POST und LIST ?

Zusätzliche Frage, wird get_bucket_filesize () und get_object_filesize () (aus PHP SDK) als LIST-Anfrage betrachtet?

    
IMB 11.02.2012, 16:07
quelle

3 Antworten

5

Aus meiner Erfahrung mit S3 (und auch aus den Grundlagen des HTTP-Protokolls und REST) ​​ist POST die Erstellung eines neuen Objekts (in S3 wäre es das Hochladen einer neuen Datei) und PUT ist eine Erstellung von ein neues Objekt oder eine Aktualisierung eines bestehenden Objekts (dh Erstellung oder Aktualisierung einer Datei). Jedes Mal, wenn Sie beispielsweise den Inhalt eines bestimmten S3-Buckets abrufen, wird eine LIST-Operation ausgeführt. Sie haben nicht gefragt, aber ein GET ist der Download einer Datei von S3 und DELETE wäre offensichtlich das Löschen einer Datei. Natürlich hängen diese Annahmen davon ab, welches SDK Sie verwenden (es scheint, dass Sie das PHP-Skript verwenden) und die zugrunde liegende Implementierung. Mein Argument ist, dass es möglich ist, einen Download mit einem GET, einem Upload mit einem PUT oder einem POST usw. zu implementieren.

Bei einem Blick in die S3-REST-API nehme ich an, dass get_bucket_filesize () implementiert ist als LIST (eine GET-Operation für einen Bucket bringt, zusammen mit einigen weiteren Daten, die Größe jedes Objekts in der Antwort) und get_object_filesize () wird als GET implementiert (durch die Verwendung der HEAD-Operation für eine einzelne Datei wird auch die Größe eingeschlossen) in den Metadaten).

    
Viccari 12.02.2012, 23:56
quelle
1

Es gibt keinen großen Unterschied zwischen PUT und POST. Folgendes wurde aus der AWS S3-Dokumentation kopiert.

  

POST ist eine alternative Form von PUT , die browserbasierte Uploads als Möglichkeit zum Einfügen von Objekten in Buckets ermöglicht. Parameter, die über HTTP-Header an PUT übergeben werden, werden stattdessen als Formularfelder an POST im Nachrichtentext mit multipart / form-data-codierten Nachrichten übergeben.

Ссылка

Wie andere angegeben haben, dient LIST zum Auflisten von Objekten. Sie können alle Operationen im folgenden Link finden.

Ссылка

    
Upul Doluweera 06.06.2017 19:07
quelle
-1

Ja, Sie haben Recht. PUT wird hochgeladen (speziell eine Datei ist ein PUT). Ich habe beobachtet, ob PUT pro Datei oder pro Paketgröße war, was es schwieriger machen würde, zu preisen. Es setzt eine Datei (ohne Bezug auf Größe).

AUCH COPY kopiert Dateien innerhalb von S3, aber es gibt noch mehr. Siehe unten. Ich fand auch Hinweise auf POST und LISTE; siehe unten.

Also was ich über PUT / COPY / POST / LIST und GET Anfragen erfahren habe, während Sie graben, um unsere Kosten zu bewerten. Ich schließe auch ein, wo ich es entdeckt habe (wollte alles von Amazon bekommen). Alle Korrekturen sind willkommen.

Die FAQ von Amazon finden Sie hier: Ссылка und darauf werde ich später eingehen.

COPY kann mehrere Dinge sein, von denen eines zwischen Regionen kopiert, was kostet. Wenn Sie beispielsweise in West VA und COPY in der Region Northern CA speichern, entstehen Kosten. Beim Kopieren von EC2 nach S3 (innerhalb der gleichen Region, die ich vermute) fallen keine Übertragungskosten an. Siehe Amazon-FAQ im Abschnitt Q: Was kostet Amazon S3?

HINWEIS: Wenn Sie eine Datei schreiben und diese Datei erneut schreiben, werden beide Versionen gespeichert (es sei denn, Sie löschen etwas). Ich nehme an, Sie werden nicht mehr berechnet, wenn die Dateien genau gleich sind, aber senden Sie mir die Rechnung nicht, wenn ich falsch liege. :-) Es scheint, dass die durchschnittliche Größe (für einen Monat) berechnet wird. Siehe FAQ (Link oben)

Für PUT, GET und DELETE erscheint eine Datei als eine Transaktion. Das beantwortet eine große Frage für mich (ich wollte nicht, dass ihre 128k Mindestgröße ein PUT für jedes 128k Paket ist ... ja, ich bin paranoid). Sehen Sie den Frageabschnitt so:

  

F: Wie wird mir meine Nutzung von Amazon S3 berechnet und in Rechnung gestellt?

     

Anforderungsbeispiel:

     

Angenommen, Sie übertragen im März 10.000 Dateien in Amazon S3 und übertragen täglich 20.000 Dateien aus Amazon S3. Dann löschen Sie 5.000 Dateien am 31. März.

     

Gesamt-PUT-Anfragen = 10.000 Anfragen x 31 Tage = 310.000 Anfragen

     

Gesamtzahl der GET-Anfragen = 20.000 Anfragen x 31 Tage = 620.000 Anfragen

     

Gesamtanzahl gelöschter Anfragen = 5.000 × 1 Tag = 5.000 Anfragen

LIST wird unter der Frage erwähnt: F: Kann ich die Amazon S3-APIs oder die Management Console verwenden, um Objekte aufzulisten, die ich in Amazon Glacier archiviert habe? Es erhält im Wesentlichen eine Liste von Dateien ... ein Verzeichnis, wenn Sie so wollen.

POST wird unter RESTObjectPost.html hier erwähnt: Ссылка

Ich hoffe, das hilft. Es machte mich sicher angenehmer mit dem, was uns in Rechnung gestellt werden würde.

    
MrIce 15.05.2017 20:31
quelle