任何熟悉此 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;
});
}
非常感谢任何反馈。