Para subir un objeto con la API de XML, realiza una solicitud PUT
con un nombre de depósito y un nombre de objeto, y coloca los datos del objeto en el cuerpo de la solicitud. El objeto subido reemplaza cualquier objeto existente con el mismo nombre. Para obtener sugerencias sobre cómo subir a Cloud Storage, consulta las prácticas recomendadas. Para obtener una guía rápida sobre las cargas simples con herramientas como la API de XML, consulta Sube objetos.
La solicitud de objeto PUT usa varios encabezados HTTP estándar. Content-Length
especifica el tamaño del objeto en bytes y es obligatorio, a menos que uses una codificación de transferencia fragmentada. Los encabezados opcionales incluyen Content-Type
, Content-MD5
y los que se enumeran a continuación. Cloud Storage almacena estos encabezados como parte de los metadatos del objeto, excepto Content-MD5
, que Cloud Storage usa para verificar la integridad de los datos. Consulta la sección Edita metadatos de objetos a fin de obtener más información sobre cómo cambiar los valores de metadatos de los objetos.
También utilizas una solicitud de objeto PUT cuando deseas cambiar elclase de almacenamiento de un objeto existente, porque debes volver a escribir el objeto existente para hacerlo. La solicitud debe contener elx-goog-storage-class
encabezado de la solicitud , así como el objeto en el cuerpo de la solicitud.
Parámetros de string de consulta
Esta solicitud no suele incluir parámetros de cadena de consulta.
Consulta los parámetros de string de consulta de URL firmados para obtener información sobre los parámetros que incluyes cuando creas y usas URL firmadas.
Solicita encabezados
Además de los encabezados de solicitud comunes, se puede usar lo siguiente.
Header | Descripción | Obligatorio |
---|---|---|
Cache-Control |
Las condiciones en las que se debe almacenar en caché un objeto de acceso público. Cache-Control también se usa para determinar si un objeto se puede transformar. |
No |
Content-Disposition |
Un encabezado que especifica información de presentación sobre cómo se transmiten los datos del objeto. | No |
Content-Encoding |
El algoritmo de compresión que se usó para comprimir el objeto que estás subiendo. | No |
Content-Language |
Es el código de lenguaje ISO 639-1 del contenido. | No |
x-goog-acl |
La LCA predefinida que deseas aplicar al objeto. | No |
x-goog-custom-time |
Una fecha y hora especificadas por el usuario. | No |
x-goog-encryption-kms-key-name |
La clave de encriptación administrada por el cliente que se usa para encriptar el objeto. | No |
x-goog-meta- |
Un encabezado de extensión que se puede usar para almacenar metadatos personalizados. | No |
x-goog-storage-class |
Una clase de almacenamiento válida. | No |
Para proporcionar una clave de encriptación proporcionada por el cliente junto con la carga de objetos, usa los encabezados que aparecen en la página Clave de encriptación proporcionada por el cliente en tu solicitud.
Elementos de cuerpo de la solicitud
El cuerpo de la solicitud contiene los datos.
Sintaxis de la solicitud
La siguiente sintaxis se aplica a las solicitudes de objetos PUT que no usan parámetros de string de consulta y excluye el encabezado de la solicitud x-goog-copy-source
.
PUT /OBJECT_NAME HTTP/1.1 Host: BUCKET_NAME.storage.googleapis.com Date: DATE Content-Length: REQUEST_BODY_LENGTH Content-Type: MIME_TYPE Content-MD5: MD5_DIGEST Authorization: AUTHENTICATION_STRING x-goog-storage-class: STORAGE_CLASS
Encabezados de respuesta
La solicitud puede mostrar una variedad de encabezados de respuesta según los encabezados de la solicitud que uses.
Elementos del cuerpo de la respuesta
La respuesta no incluye un documento XML en el cuerpo de la respuesta.
Ejemplo
En el siguiente ejemplo se sube un objeto llamado paris.jpg a un depósito llamado travel-maps.
Solicitud
PUT /paris.jpg HTTP/1.1 Host: travel-maps.storage.googleapis.com Date: Sat, 20 Feb 2010 16:31:08 GMT Content-Type: image/jpg Content-MD5: iB94gawbwUSiZy5FuruIOQ== Content-Length: 554 Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Respuesta
HTTP/1.1 200 OK ETag: "881f7881ac1bc144a2672e45babb8839" Date: Sat, 20 Feb 2010 16:31:09 GMT Content-Length: 0 Content-Type: text/html
Códigos de error comunes
Si intentas subir un objeto a un depósito que no existe, obtienes un código de estado 404 Not Found y el cuerpo de la respuesta de error tiene NoSuchBucket
en el Code
.
Si el resumen de MD5 proporcionado tiene un formato incorrecto, recibirás un código de estado 400 Bad Request y el cuerpo de la respuesta de error tiene InvalidDigest
en el elemento Code
.
Si el resumen no coincide con el resumen que calculamos del cuerpo, se mostrará un código de estado 400 Bad Request y el cuerpo de la respuesta de error tiene BadDigest
en la Code
.