This page discusses concepts related to uploading and downloading objects. You can upload and store any MIME type of data up to 5 TiB in size.
You can send upload requests to Cloud Storage in the following ways:
Single-request upload. Use this if the file is small enough to upload in its entirety if the connection fails.
- The JSON API further distinguishes between media uploads, in which only object data is included in the request, and JSON API multipart uploads, in which both object data and object metadata are included in the request.
Resumable upload. Use this for a more reliable transfer, which is especially important with large files. Resumable uploads are a good choice for most applications, since they also work for small files at the cost of one additional HTTP request per upload. You can also use resumable uploads to perform streaming transfers, which allows you to upload an object of unknown size.
XML API multipart upload. An upload method that is compatible with Amazon S3 multipart uploads. Files are uploaded in parts and assembled into a single object with the final request. XML API multipart uploads allow you to upload the parts in parallel, potentially reducing the time to complete the overall upload.
Upload size considerations
When choosing whether to use a single-request upload instead of a resumable upload or XML API multipart upload, consider the amount of time that you're willing to lose should a network failure occur and you need to restart the upload from the beginning. For faster connections, your cutoff size can typically be larger.
For example, say you're willing to tolerate 30 seconds of lost time:
If you upload from a local system with an average upload speed of 8 Mbps, you can use single-request uploads for files as large as 30 MB.
If you upload from an in-region service that averages 500 Mbps for its upload speed, the cutoff size for files is almost 2 GB.
All downloads from Cloud Storage have the same basic behavior: an
HTTP or HTTPS
GET request that can include an optional
Range header, which
defines a specific portion of the object to download.
Support per tool
If you use REST APIs to upload and download, see Request endpoints for a complete discussion on the request endpoints you can use.
- Transfer objects from your Compute Engine instance.
- Make your data publicly accessible.
- View and edit your object metadata.