googleapis / googleapis/google-cloud-go

storage: Provide a way to resume uploads from another instance of the application

Open
#5,178 13 comments 2 reactions 1 assignee Assigned to @cpriti-os View on GitHub
api: storage priority: p2 type: feature request
Dominant language
Go
Stars
4.5k
Forks
1.6k
Avg merge
1d 13h
Merged PRs (30d)
109

Description

**Is your feature request related to a problem? Please describe.**
I'm working on supporting resumable uploads for my customers. My service scales up as needed to many API servers that pass the data to/from GCS. So if I use a Writer() object on one instance of the application and the upload is severed - I need to be able to save the info to a DB in order to allow the user to resume the upload on a different instance of the same application (chosen by the load balancer).

**Describe the solution you'd like**
I can see several different solutions:
1) Allow users to serialize/deserialize the Writer to JSON.
2) Allow the users to ask for just the necessary info needed to resume (like the session URL?), then allow them to create a writer from that info. Ex:
```
writer.GetResumableURL()
NewResumeWriter(url string)
```

**Describe alternatives you've considered**
Writing the entire upload/resume logic myself via http. But that would mean I'm not using this library at all.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.