2012-02-11 161 views
8

請確認是否這是正確的:Amazon S3:什麼被視爲PUT/COPY/POST/LIST請求?

  • PUT很可能將文件上傳到S3?
  • COPY可能是在S3內複製文件?

如何POSTLIST

附加問題,是get_bucket_filesize()和get_object_filesize()(從PHP SDK)認爲是一個列表請求?

回答

5

從使用S3我的經驗(以及從HTTP協議和REST的基本知識),POST是一個新對象的創建(在S3中,這將是一個新文件的上傳),並把是一種創造新對象的更新或現有對象的更新(即創建或更新文件)。例如,您每次獲取給定S3存儲桶的內容時,都會遇到LIST操作。您沒有問過,但GET是從S3下載的文件,DELETE顯然是刪除文件。當然,這些假設取決於您使用的是哪個SDK(似乎您正在使用PHP)以及它的底層實現。我的觀點是,可以使用GET實現下載,使用PUT或POST進行上傳等等。儘管如此,我認爲get_bucket_filesize()被實現爲一個LIST(一個桶上的GET操作帶來了更多的數據,每個對象在響應中的大小)和get_object_filesize()被實現爲GET(對單個文件使用HEAD操作也會將其大小包括在元數據中)。

-1

是的,你是對的。 PUT正在上傳(特別是一個文件是一個PUT)。我正在觀察是否PUT是每個文件或每個包的大小,這將使價格更難以確定。它將一個文件(不參考大小)。

另外,COPY確實是在S3中複製文件,但還有更多。見下文。 我還發現對POST和LIST的引用;見下文。

所以我瞭解PUT /複印/ POST/LIST和GET請求,同時挖掘在評估我們的成本。我還包括我在哪裏發現它(想要從亞馬遜那裏得到它)。所有更正都是值得歡迎的。

亞馬遜的常見問題是在這裏:https://aws.amazon.com/s3/faqs/,我會參考下面這個。

COPY可以是幾件事情,其中​​之一是複製區域之間的成本。例如,如果您存儲在西弗吉尼亞州,並複製到北部加州地區,則會產生成本。從EC2複製到S3(在我假定的同一區域內)不會產生轉移成本。請參閱Amazon中的Amazon常見問題解答問:Amazon S3需要多少錢?

注意:寫入一個文件,然後重寫同一個文件存儲兩個版本(除非你刪除了某些內容)。如果文件完全一樣,我猜你不會收取更多費用,但如果我錯了,不要寄給我賬單。 :-)看起來平均大小(一個月)是收費的。請參見常見問題解答(以上鍊接)

對於PUT,GET和DELETE,它出現一個文件是一個事務。這對我來說是一個很大的問題(我不希望他們的128k最小尺寸是每個128k數據包的PUT ......是的,我是偏執狂)。請參閱問題部分,如下所示:

問:我將如何收費併爲使用Amazon S3收費?

請求示例:

假設你把10,000個文件到Amazon S3和每天三月份期間轉移20000個文件從亞馬遜S3的。然後,在3月31日刪除5,000個文件。

總PUT請求= 10,000個請求x 31天= 310000個請求

總GET請求= 20,000個請求x 31天= 620000個請求

總計DELETE請求= 5000×1天= 5000個請求

在問題中提到了LIST: 問:我可以使用Amazon S3 API或管理控制檯列出已存檔到Amazon Glacier的對象嗎? 它實質上是得到一個文件列表...一個目錄,如果你願意的話。

POST是RESTObjectPost.html在這裏提到:http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

我希望幫助。它確實讓我對我們的收費感到更加舒適。

1

PUT和POST之間沒有太大區別。以下內容已從AWS S3文檔複製而來。

POST是PUT的替換形式,它使基於瀏覽器的上傳,把物體在桶的方法。 通過HTTP頭傳遞給PUT的參數在多部分/表單數據編碼的郵件正文中作爲表單字段傳遞到POST

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

正如其他已指定的列表是上市對象。您可以在以下鏈接中找到所有操作。

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketOps.html

相關問題