この 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) Request.emit で (events.js:95:17)、IncomingMessage で。(/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 のグリッチであると想定されていました。bucket.upload
これは、ファイル以外のパラメーターを使用せずに最も単純な gCloud lib メソッドを使用するコードの一部に関連しています...これを実行する現在の関数は次のとおりです。
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;
});
}
フィードバックは大歓迎です。