【发布时间】:2017-04-07 22:40:50
【问题描述】:
我想将包含超过 100,000 个文件(超过 30GB)的文件夹从我的远程服务器上传到 Google Cloud Storage。 在我拥有的服务器上,我无法安装 gsutil。 有没有更好的上传文件的方法?使用API,就是这样。
$files = scanDir::scan("../../system_flex/Faturas/Media/", false, true);
$data = array();
foreach ($files as $file) {
$arquivo = str_replace("//", "/", str_replace("../../system_flex/Faturas/", "", str_replace("\\", "/", $file)));
$upload = $bucket->upload(
fopen($file, 'r'), array( 'name' => $arquivo )
);
}
这样会创建很多请求并且速度很慢,有没有其他方法可以使用 PHP 或某些程序?
【问题讨论】:
-
您希望尽可能多线程。你和服务器之间的往返时间在这里很重要。老实说,将它全部捆绑到一个 tarball 中,将一个大文件放入 GCS 或 GCE 实例,解包,然后使用 gsutil,最终可能会节省时间。
-
酷,我要上传 .tar 文件并解压缩,云存储中的解压缩命令是什么?我在我的电脑上使用 gsutil,对吧?
-
您的服务器可以远程访问吗?你能用Transfer Service吗?
-
我正在尝试安装但没有得到它,所需的 Python 版本是 2.7,我安装了支持 Python 2.6 的旧版 gcloud,它现在可以工作了