2016-01-13 38 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步:结束

相关问题