4

任何熟悉此 gcloud 异常的人:

ApiError:在 Object.parseHttpRespBody (/site/node_modules/gcloud/lib/common/util.js:206) 的新 util.ApiError (/site/node_modules/gcloud/lib/common/util.js:128:10) 中找不到:30) 在 Object.handleResp (/site/node_modules/gcloud/lib/common/util.js:146:18) 在 /site/node_modules/gcloud/lib/common/util.js:447:12 在 Request.onResponse [as _callback] (/site/node_modules/gcloud/node_modules/retry-request/index.js:120:7) 在 Request.self.callback (/site/node_modules/request/request.js:187:22) 在 Request .emit (events.js:98:17) 在请求中。(/site/node_modules/request/request.js:1044:10) 在 IncomingMessage 的 Request.emit (events.js:95:17)。(/site/node_modules/request/request.js:965:12) 在 IncomingMessage.emit (events.js:117:20) 在 _stream_readable.js:944:16 在 process._tickDomainCallback (node.js:492:13)

它只出现在生产中(当然)并且目前始终如一。它曾经定期出现,并且假设它是@gCloud 的一个小故障,因为它在本地无法复制。它与使用最简单的 gCloud lib 方法的代码部分有关,bucket.upload除了文件之外没有其他参数......这是执行此操作的当前函数:

function uploadToGoogleCloud(filePath, makePublic) {
  var gstorage = gcloud.storage({
    projectId: EXAMPLE_projectId,
    credentials: EXAMPLE_credentials,
  });

  var spBucket = Promise.promisifyAll(gstorage.bucket(EXAMPLE_bucket));

  return spBucket.uploadAsync(filePath).then(function(file) {
    if (makePublic) {
      var fileAsync = Promise.promisifyAll(file);
      return fileAsync.makePublicAsync().then(function() {
        return file;
      });
    }
    return file;
  });
}

非常感谢任何反馈。

4

1 回答 1

0

这个错误有点模糊,但对我来说是正确的。当我在某些情况下尝试写入一个不存在的 bigquery 表时出现此错误(我不小心将“未定义”作为表名传递),我怀疑引擎盖下正在发生一些 404 错误强制。

于 2016-12-17T13:23:04.973 回答