node.js - 使用 NodeJS 在 GCE 上下载 GCloud 存储不完整

标签 node.js google-cloud-storage gcloud-node

我使用的是 GCloud 版本 0.18.0。在我的开发 PC 上,我实际上在 Google Storage 上下载了非常好的文件。但是,一旦脚本在 Google 计算引擎上运行,下载就会开始并显示已完成,但实际上并未完成。这是一个日志文件,因此当我检查下载的日志文件时,我发现它尚未完成。文件的开头就在那里。

我做了很多搜索,但似乎没有人遇到我的问题。

var gcloud = require('gcloud')({projectId: project_id});
var bucket = google.storage.bucket('logs');

var log_one = {filename: 'test.log'};
bucket.file(log_one.filename).download({destination: './tmp/processing_' + log_one.filename}, function(err) {
  if (err.code == 403 || err.code == 404 || err.message) {
    console.log(err);
    console.log("Error after bucket.file.download");
    return;
  }

  console.log("Downloaded file " + log_one.filename + " completed");
  // Do stuff on the log file <-- Which is here the file is incomplete on GCE
});

该实例可以与所有 Google API 通信,并且无论如何,它都会下载日志文件的一部分。

我还尝试设置一个计时器来给完成写入文件或类似内容的时间。没有成功。我从不在论坛上寻求帮助,因为我总是在寻找解决方案。但这一次,我需要帮助。

最佳答案

自 0.18.0 以来,我们遇到了一些与流和完整事件相关的问题。升级到最新版本 0.24.1 可能会神奇地解决该问题。

关于node.js - 使用 NodeJS 在 GCE 上下载 GCloud 存储不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33713368/

相关文章:

node.js - 文档大小意味着 "parseError occured"?

docker - 在前台运行 Goofys 是防止传输端点断开连接的唯一方法

google-cloud-storage - 是否可以在不添加index.html的情况下从Google云存储访问目录?

google-app-engine - 如何使用 gcloud-node 在 Google 数据存储上保存超过 1500 字节的文本?

node.js - 在 Sequelize 中加载关联

python - 为什么 Node Express 将 Django 的 bool 值视为字符串?

node.js - 登录 gcloud node.js

node.js - 在 node.js 下将 Firebase 参数与 Google Cloud Storage 结合使用

node.js - NPM 会忽略 .gitignore 中列出的文件吗?

docker - gsutil:无法在 www.googleapis.com 上找到服务器