GSUtil与PHP RESTful类

时间:2011-06-13 07:18:05

标签: php python rest google-cloud-storage

我们都知道使用S3很麻烦:删除虚拟目录需要删除路径中的所有对象,等等。至少使用RESTful API就是这种情况。

我想知道如果我使用PHP调用GSUtil而不是使用我自己的PHP类,是否会有任何性能提升。 GSUtil处理请求的方式有什么特别之处,还是相同的REST包装器?

我遇到的主要问题:

  • 删除大文件夹
  • 上传许多小文件
  • 阅读分层数据步骤(例如,只有/foo路径下的文件和文件夹,而不是他们的孩子 - 儿童)

1 个答案:

答案 0 :(得分:2)

从根本上说,你的PHP代码和gsutil都使用RESTful接口(gsutil实际上是在一个名为boto的开源Python库的顶层,它实现了大部分REST接口),但有几个原因要考虑使用gsutil:

  • Gsutil负责为您提供OAuth 2.0身份验证/授权。
  • Gsutil进行通配符扩展,例如,通过指定“gsutil rm gs:// bucket / *”
  • ,您可以删除存储桶中的所有对象
  • Gsutil有很多其他功能(获取/设置ACL和相关的XML解析/构建,列出存储桶内容,转储对象内容等),如果你自己必须自己实现(或在其他一些PHP库中找到)绕过gsutil。
  • Gsutil为您的“上传许多小文件”用例提供了一些不错的性能。特别是,-m选项在并行进程和线程中运行您的上传,这提供了显着的性能提升。

总之,您可以推送自己的PHP代码,但我认为如果您利用gsutil,您可以更快地完成工作并获得更多功能。