Use a PUT object request to:
- Upload an Object
- Upload an Object Part
- Copy an Object
- Compose an Object
- Set Object ACLs
- Set Object Retention
Common request headers
The following are common request headers for PUT object requests.
Header | Description | Required |
---|---|---|
Authorization |
The authentication string for the request. | Yes |
Content-Length |
The length of the request body without headers (in bytes). | Yes1 |
Content-Type 2 |
The MIME type of the request body. If you do not specify a content type, Cloud Storage defaults to
application/octet-stream
when it serves the object. |
No (recommended) |
Content-MD5 |
The MD5 digest of the request message without headers. While not required, this header is generally recommended as a data integrity check to verify that the data received by Cloud Storage is the same as the data that was intended to be sent. | No |
Date |
The date and time of the request. | Yes |
Host |
The URI for Cloud Storage. For more information, see Request Endpoints. | Yes |
Transfer-Encoding |
Indicates if the message body was chunked. In requests that use
V4 Signatures for
their authentication, chunked uploads must also include the header
x-amz-decoded-content-length . |
No (except for requests that use chunked transfer encoding) |
x-goog-if-generation-match 2 |
If the generation you specify is the same as the object you're replacing, then the object is replaced. You can also specify 0 as a special value to indicate that the new object is only created if there is no existing object. | No |
x-goog-if-metageneration-match 2 |
If the metageneration you specify is the same as the object you're
trying to update, then the object metadata is updated. This is only
allowed if x-goog-if-generation is specified. By combining
these two generation properties, you can implement safe read-modify-write
updates. |
No |
x-goog-storage-class 2 |
Gives an object a storage class besides the default storage class of the associated bucket. | No |
x-goog-user-project |
The project to be billed for charges associated with the request. | No |
1 Not required for requests that use chunked transfer encoding.
2 This header is not applicable in PUT Object
requests that
upload an object part.