【发布时间】:2016-12-18 08:09:13
【问题描述】:
任何熟悉此 gcloud 异常的人:
ApiError: Not Found at new util.ApiError (/site/node_modules/gcloud/lib/common/util.js:128:10) 在 Object.parseHttpRespBody (/site/node_modules/gcloud/lib/common/util.js:206: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) 在 Request.emit (events.js:95:17) 在 IncomingMessage。 (/site/node_modules/request/request.js:965:12) 在 IncomingMessage.emit (events.js:117:20) at _stream_readable.js:944:16 at 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;
});
}
非常感谢任何反馈。
【问题讨论】:
-
所以看起来文件实际上正在上传但没有公开。希望对一些建议有所帮助。我们仍在努力解决这个问题。
-
GCS API 错误报告是个笑话。他们没有提供有关问题所在的详细信息。把我逼疯了。
标签: node.js upload google-cloud-platform gcloud-node buckets