Storage non-resumable uploads fail when used with @google-cloud/common 0.12.1. The error message is:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Sorry, we cannot connect to Cloud Services without a project ID. You may specify one with an environment variable named "GCLOUD_PROJECT". See https://googlecloudplatform.github.io/google-cloud-node/#/docs/guides/authentication for a detailed guide on creating an authenticated connection.
The error message is misleading. The code mistakenly assumes any error thrown util.makeAuthenticatedRequestFactory -> makeAuthenticatedRequest -> onAuthenticated is because of a missing project ID.
The bug that causes the error was introduced by #1990. hasOwnProperty is called on an object that does not have that function. An alternative implementation would be to call Object.hasOwnProperty.call(value, opt) instead of value.hasOwnProperty(opt).
google-cloudstorage.bucket('my-bucket').upload('file.txt', { resumable: false })Thank you for catching this and debugging it! I just put through a fix: https://github.com/GoogleCloudPlatform/google-cloud-node/commit/a1edaab91a646b47dc4596b38c76c7beb1e510a9 -- does this look good?
This bug is still active. google-cloud-node version:"0.7.0", default storage.bucket('my-bucket').upload('file.txt') does not upload .Must explicitly add resumable flag for upload storage.bucket('my-bucket').upload('file.txt', { resumable: true }) .
This code works for me with @google-cloud/[email protected]:
var storage = require('@google-cloud/storage')()
var bucket = storage.bucket('stephen-has-a-new-bucket')
bucket.upload('package.json', console.log) // no error
Can you make sure you rm -rf node_modules && npm install --save @google-cloud/storage@^0.7.0 and let me know if it persists? If you can, a reproducible test gist that I can clone, install, and run to see the crash would help.
Most helpful comment
Thank you for catching this and debugging it! I just put through a fix: https://github.com/GoogleCloudPlatform/google-cloud-node/commit/a1edaab91a646b47dc4596b38c76c7beb1e510a9 -- does this look good?