2016-01-13 58 views
2

我正在使用AWS PHP SDK。我上傳了一個JSON文件到S3存儲桶。現在我想獲取文件內容(上傳到S3存儲桶),向抓取的文件內容添加一些額外文本並通過S3存儲桶更新該文件。我們可以更新Amazon S3中特定文件的內容嗎?

我想是這樣的:

  1. 文件名:使用S3提供了方法,文件的userlist.json
  2. 搶內容
  3. 例如:現有的文件內容是{'abc','xyz'}
  4. 添加額外內容{'abc','xyz'}, {'zxv','opiv','cvpo'}
  5. 將新增內容更新到S3存儲桶文件(userlist.json

我們如何做到這一點?

回答

2

您不能將數據添加到或修改現有s3對象的一部分,您需要讀取對象,更改對象並將整個對象寫回到s3。

+0

你能告訴我怎麼做到這一點嗎?上傳同名文件時,會替換嗎?我認爲它會給我一個錯誤,該文件已經退出。 – Qazi

+0

它只會替換現有的對象(文件)。 –

1

您可以覆蓋s3中的任何文件。 當您在同一位置使用相同名稱編寫文件時,它會刪除舊文件並將其替換爲新文件。

+0

你能提供代碼或任何幫助鏈接嗎?所以我可以執行此操作? – Qazi

+2

爲此目的使用sdk http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpPHP.html for php sdk –

0

你可以按照下面的算法

第1步:使用功能

return $result = $this->s3->getObject(array(
     'Bucket' => bucket,    
     'Key' => 'file_name' 
    )); 

步驟2中得到特定的桶文件內容:寫在本地文件返回的內容。

第3步:讀取文件並修改任何你喜歡的。將文件保存在本地計算機中。在這裏您可以將文件保存爲不同的擴展名。

第4步:上傳文件到所需的桶中。請記住,如果用相同的名稱覆蓋文件,s3存儲桶不應立即更新。

第5步:結束

相關問題