Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose 'upload' class from 'upload_from_file()' #1077

Closed
sbrinkerhoff opened this issue Aug 24, 2015 · 7 comments
Closed

Expose 'upload' class from 'upload_from_file()' #1077

sbrinkerhoff opened this issue Aug 24, 2015 · 7 comments
Assignees
Labels
api: storage Issues related to the Cloud Storage API. priority: p2 Moderately-important priority. Fix may not be included in next release.

Comments

@sbrinkerhoff
Copy link

When uploading a large file with the Blob.upload_from_file() method it would be extremely convenient to be able to access properties of the upload class that is generated in this method to view upload progress, as well as assert the other properties of that wrapped class.

Something as simple as this:

    def upload_from_file(self, file_obj, rewind=False, size=None,
                         content_type=None, num_retries=6, client=None):

...

        self.upload = transfer.Upload(file_obj, content_type, total_bytes,
                                      auto_transfer=False,
                                      chunksize=self.chunk_size)
@dhermes dhermes added the api: storage Issues related to the Cloud Storage API. label Aug 24, 2015
@dhermes
Copy link
Contributor

dhermes commented Aug 24, 2015

This is somewhat tied in with #935. Thanks for filing, we hope to be able to get on this soon-ish.

@tseaver
Copy link
Contributor

tseaver commented Aug 24, 2015

Adding upload as an instance attribute of the blob object doesn't make much sense: it is a transient local only to the call. We could return the Upload instance created, though.

@dhermes
Copy link
Contributor

dhermes commented Dec 31, 2015

👍 To returning the Upload instance. @tseaver How does this fit in with the gcloud.streaming changes?

@tseaver
Copy link
Contributor

tseaver commented Jan 7, 2016

What about the users who don't care about messing with it? the current implementation serves them, at the expense of the OP's request. If we don't do the actual streaming inside upload_from_*, we make those users have to deal with it.

@dhermes
Copy link
Contributor

dhermes commented Jan 7, 2016

Maybe there is a middleground? A flag that will disable it? Or a simple wrapper that they can consume, like a query iterator or otherwise.

@lukesneeringer lukesneeringer added the priority: p2 Moderately-important priority. Fix may not be included in next release. label Apr 19, 2017
@lukesneeringer
Copy link
Contributor

Hello,
One of the challenges of maintaining a large open source project is that sometimes, you can bite off more than you can chew. As the lead maintainer of google-cloud-python, I can definitely say that I have let the issues here pile up.

As part of trying to get things under control (as well as to empower us to provide better customer service in the future), I am declaring a "bankruptcy" of sorts on many of the old issues, especially those likely to have been addressed or made obsolete by more recent updates.

My goal is to close stale issues whose relevance or solution is no longer immediately evident, and which appear to be of lower importance. I believe in good faith that this is one of those issues, but I am scanning quickly and may occasionally be wrong. If this is an issue of high importance, please comment here and we will reconsider. If this is an issue whose solution is trivial, please consider providing a pull request.

Thank you!

@PetrochukM
Copy link

Please reopen this. This has not been tackled many years later. What is the mechanism for exposing upload progress?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: storage Issues related to the Cloud Storage API. priority: p2 Moderately-important priority. Fix may not be included in next release.
Projects
None yet
Development

No branches or pull requests

5 participants