Hello Jason Can you give us a bit more details about the components in your architecture? >From what I understand you have a go backend, a GCS bucket, and a client.
So far, I've had best results for performance, security and simplicity with this combination: - backend generates a Signed upload URL [1] and gives it to the client ; - client makes a PUT request to the signed URL ; - client keeps track of number of bytes sent, to display progress. This is easier if the backend is itself hosted in GCP. The client can be a web page, a mobile app, or anything else, and it doesn't need to handle secret keys. I tried several ways and so far I observe better results when the file doesn't transit through the backend, but rather it is uploaded from client to GCS. [1] https://godoc.org/cloud.google.com/go/storage HTH Cheers Valentin -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.