

# POST Object
<a name="RESTObjectPOST"></a>

## Descripción
<a name="RESTObjectPOST-description"></a>

La operación `POST` agrega un objeto a un bucket específico mediante formularios HTML. `POST` es una forma alternativa de `PUT` que permite las cargas desde el navegador como una forma de colocar objetos en buckets. Los parámetros que se transfieren a `PUT` a través de encabezados HTTP se transfieren, en su lugar, como campos de formulario a `POST` en el cuerpo del mensaje codificado en varias partes o con datos del formulario. Para agregar un objeto a un bucket, debe tener el acceso `WRITE` en el bucket. Amazon S3 nunca almacena objetos parciales. Si recibe una respuesta correcta, puede estar seguro de que se ha almacenado todo el objeto.

Amazon S3 es un sistema distribuido. A menos que habilite el control de versiones para un bucket, si Amazon S3 recibe varias solicitudes de escritura para el mismo objeto simultáneamente, solo se almacena la última versión del objeto escrito.

Para asegurarse de que los datos no se corrompan al atravesar la red, utilice el campo de formulario `Content-MD5`. Cuando utiliza este campo de formulario, Amazon S3 compara el objeto con el valor MD5 proporcionado. Si no coinciden, Amazon S3 devuelve un error. Además, puede calcular el valor MD5 al publicar un objeto en Amazon S3 y comparar el valor `ETag` devuelto con el valor MD5 calculado. La ETag solo refleja solo los cambios en el contenido de un objeto, no en los metadatos.

**nota**  
Para configurar la aplicación para que envíe los encabezados de las solicitudes antes de enviar el cuerpo de la solicitud, utilice el código de estado HTTP 100 (Continuar). Para las operaciones `POST`, el uso de este código de estado ayuda a evitar enviar el cuerpo del mensaje si el mensaje se rechaza en función de los encabezados (por ejemplo, debido a un error de autenticación o a una redirección). Para obtener más información sobre el código de estado HTTP 100 (Continuar), consulte la sección 8.2.3 de [http://www.ietf.org/rfc/rfc2616.txt](http://www.ietf.org/rfc/rfc2616.txt).

Amazon S3 cifra automáticamente todos los objetos nuevos que se cargan a un bucket de S3. La configuración de cifrado de un objeto cargado depende de la configuración de cifrado predeterminada del bucket de destino. De forma predeterminada, todos los buckets tienen una configuración de cifrado predeterminada que utiliza el cifrado del servidor con claves administradas de Amazon S3 (SSE-S3). 

Si el bucket de destino tiene una configuración de cifrado que utiliza el cifrado del servidor con una clave de AWS Key Management Service (AWS KMS) (SSE-KMS), cifrado del servidor de doble capa con una clave de AWS KMS (DSSE-KMS) o una clave de cifrado proporcionada por el cliente (SSE-C), Amazon S3 utiliza la clave de KMS correspondiente o una clave proporcionada por el cliente para cifrar el objeto cargado. Al cargar un objeto, si desea cambiar la configuración de cifrado del objeto cargado, puede especificar el tipo de cifrado del servidor. Puede configurar SSE-S3, SSE-KMS, DSSE-KMS o SSE-C. Para obtener más información, consulte [Protección de datos mediante el cifrado del servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

**importante**  
Al crear la solicitud, asegúrese de que el campo `file` sea el último campo del formulario.

## Solicitudes
<a name="RESTObjectPOST-requests"></a>

### Sintaxis
<a name="RESTObjectPOST-requests-syntax"></a>

```
 1. POST / HTTP/1.1
 2. Host: {{destinationBucket}}.s3.amazonaws.com
 3. User-Agent: {{browser_data}}
 4. Accept: {{file_types}}
 5. Accept-Language: {{Regions}}
 6. Accept-Encoding: {{encoding}}
 7. Accept-Charset: {{character_set}}
 8. Keep-Alive: 300
 9. Connection: keep-alive
10. Content-Type: multipart/form-data; boundary=9431149156168
11. Content-Length: {{length}}
12. 
13. --9431149156168
14. Content-Disposition: form-data; name="key"
15. 
16. acl
17. --9431149156168
18. Content-Disposition: form-data; name="tagging"
19. 
20. <Tagging><TagSet><Tag><Key>{{Tag Name}}</Key><Value>{{Tag Value}}</Value></Tag></TagSet></Tagging>
21. --9431149156168
22. Content-Disposition: form-data; name="success_action_redirect"
23. 
24. success_redirect
25. --9431149156168
26. Content-Disposition: form-data; name="Content-Type"
27. 
28. content_type
29. --9431149156168
30. Content-Disposition: form-data; name="x-amz-meta-uuid"
31. 
32. uuid
33. --9431149156168
34. Content-Disposition: form-data; name="x-amz-meta-tag"
35. 
36. metadata
37. --9431149156168
38. Content-Disposition: form-data; name="AWSAccessKeyId"
39. 
40. access-key-id
41. --9431149156168
42. Content-Disposition: form-data; name="Policy"
43. 
44. encoded_policy
45. --9431149156168
46. Content-Disposition: form-data; name="Signature"
47. 
48. signature=
49. --9431149156168
50. Content-Disposition: form-data; name="file"; filename="{{MyFilename.jpg}}"
51. Content-Type: image/jpeg
52. 
53. file_content
54. --9431149156168
55. Content-Disposition: form-data; name="submit"
56. 
57. Upload to Amazon S3
58. --9431149156168--
```

### Parámetros de la solicitud
<a name="RESTObjectPOST-requests-request-parameters"></a>

Esta aplicación de la operación no utiliza parámetros de solicitud.

### Campos de formulario
<a name="RESTObjectPOST-requests-form-fields"></a>

Esta operación puede utilizar los siguientes campos de formulario.


| Nombre | Descripción | Obligatorio | 
| --- | --- | --- | 
| AWSAccessKeyId | El ID de clave de acceso de AWS del propietario del bucket que otorga un acceso de usuario anónimo para una solicitud que cumple con el conjunto de restricciones en la política.<br />Tipo: cadena<br />Valor predeterminado: None<br />Restricciones: obligatorio si se incluye un documento de política con la solicitud.  | Condicional | 
| acl | La lista de control de acceso (ACL) de Amazon S3 especificada. Si la ACL especificada no es válida, se genera un error. Para obtener más información sobre ACL, consulte [Información general de la lista de control de acceso (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) en la *Guía del usuario de Amazon Simple Storage Service*. <br />Tipo: cadena<br />Valor predeterminado: privado<br /> Valores válidos: `private \| public-read \| public-read-write \| aws-exec-read \| authenticated-read \| bucket-owner-read \| bucket-owner-full-control `  | No | 
| Cache-Control, Content-Type, Content-Disposition, Content-Encoding, Expires | Los encabezados específicos de REST. Para obtener más información, consulte [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html).<br />Tipo: cadena<br />Valor predeterminado: None | No | 
| file | El contenido de texto o archivo. <br />El contenido de texto o archivo debe ser el último campo en el formulario.<br />No puede cargar más de un archivo a la vez.<br />Tipo: el contenido de texto o archivo<br />Valor predeterminado: none | Sí | 
| key | El nombre de la clave cargada.<br />Para utilizar el nombre de archivo provisto por el usuario, utilice la variable `${filename}`. Por ejemplo, si una usuaria llamada Mary carga el archivo `example.jpg` y se especifica `/user/mary/${filename}`, el nombre de la clave es `/user/mary/example.jpg`.<br />Para obtener más información, consulte [Clave de objeto y metadatos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html) en la *Guía del usuario de Amazon Simple Storage Service*.<br />Tipo: cadena<br />Valor predeterminado: None | Sí | 
| policy | La política de seguridad que describe lo q‎ue se permite en la solicitud. Las solicitudes sin una política de seguridad se consideran anónimas y funcionan solo en buckets que se pueden escribir públicamente. Para obtener más información, consulte [Formularios HTML](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HTTPPOSTForms.html) y [Ejemplos de carga](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HTTPPOSTExamples.html) en la *Guía del usuario de Amazon Simple Storage Service*. <br />Tipo: cadena<br />Valor predeterminado: None<br />Restricciones: se requiere una política de seguridad si el bucket no se puede escribir públicamente. | Condicional | 
| success\_action\_redirect, redirect | La URL a la que se redirige al cliente después de una carga exitosa.<br />Si no se especifica el campo `success_action_redirect`, Amazon S3 devuelve el tipo de documento vacío especificado en el campo `success_action_status`.<br />Si Amazon S3 no puede interpretar la URL, actúa como si el campo no estuviera presente.<br />Si la carga falla, Amazon S3 muestra un error y no redirige al usuario a una URL.<br />Tipo: cadena<br />Valor predeterminado: None El nombre de campo de `redirect` está obsoleto y el soporte para el nombre de campo de `redirect` se eliminará en el futuro.   | No | 
| success\_action\_status | Si no especifica `success_action_redirect`, el código de estado se devuelve al cliente cuando la carga se realiza correctamente.<br />Este campo acepta los valores `200`, `201` o `204` (el valor predeterminado).<br />Si el valor se establece en `200` o `204`, Amazon S3 devuelve un documento vacío con un código de estado 200 o 204.<br />Si el valor se establece en `201`, Amazon S3 devuelve un documento XML con un código de estado 201. <br />Si el valor no se establece o si se establece en un valor no válido, Amazon S3 devuelve un documento vacío con un código de estado 204. <br />Tipo: cadena<br />Valor predeterminado: None | No | 
| tagging | El conjunto de etiquetas especificado que se agregará al objeto. Para agregar etiquetas, utilice el siguiente esquema de codificación.<br /> <pre><Tagging><br />  <TagSet><br />    <Tag><br />      <Key>{{TagName}}</Key><br />      <Value>{{TagValue}}</Value><br />    </Tag><br />    ...<br />  </TagSet><br /></Tagging></pre><br />Para obtener más información, consulte [Etiquetado de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) en la *Guía del usuario de Amazon Simple Storage Service*.<br />Tipo: cadena<br />Valor predeterminado: None | No | 
| x-amz-storage-class | La clase de almacenamiento que se usa para almacenar el objeto. Si no especifica una clase, Amazon S3 utiliza la clase de almacenamiento predeterminada, `STANDARD`. Amazon S3 admite otras clases de almacenamiento. Para obtener más información, consulte [Clases de almacenamiento](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) en la *Guía del usuario de Amazon Simple Storage Service*. <br />Tipo: cadena<br />Valor predeterminado: `STANDARD`<br />Valores válidos: `REDUCED_REDUNDANCY` \|`EXPRESS_ONEZONE` \| `DEEP_ARCHIVE` \| `GLACIER` \| `GLACIER_IR` \| `INTELLIGENT_TIERING` \| `ONEZONE_IA` \| `STANDARD` \| `STANDARD_IA`  | No | 
| x-amz-meta-\* | Los encabezados que comienzan con este prefijo son metadatos definidos por el usuario. Cada uno de ellos se almacena y se devuelve como un conjunto de pares clave-valor. Amazon S3 no valida ni interpreta metadatos definidos por el usuario. Para obtener más información, consulte [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html).<br />Tipo: cadena<br />Valor predeterminado: None | No | 
| x-amz-security-token | El token de seguridad de Amazon DevPay. <br />Cada solicitud que utiliza Amazon DevPay requiere dos campos de formulario `x-amz-security-token`: uno para el token de producto y otro para el token de usuario.<br />Tipo: cadena<br />Valor predeterminado: None | No | 
| x-amz-signature | (AWS Signature Version 4) El hash HMAC-SHA256 de la política de seguridad.<br />Tipo: cadena<br />Valor predeterminado: None | Condicional | 
| x-amz-website-redirect-location  | Si el bucket está configurado como un sitio web, este campo redirige las solicitudes para este objeto a otro objeto en el mismo bucket o a una URL externa. Amazon S3 almacena el valor de este encabezado en los metadatos del objeto. Para obtener más información sobre los metadatos del objeto, consulte [Clave de objeto y metadatos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html) en la *Guía del usuario de Amazon Simple Storage Service*.<br />En el siguiente ejemplo, el encabezado de la solicitud establece la redirección a un objeto (`anotherPage.html`) del mismo bucket:<br />`x-amz-website-redirect-location: /anotherPage.html`<br />En el siguiente ejemplo, el encabezado de la solicitud establece la redirección del objeto a otro sitio web:<br />`x-amz-website-redirect-location: http://www.example.com/`<br />Para obtener más información sobre el alojamiento de sitios web en Amazon S3, consulte [Alojamiento de sitios web en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html) y [Cómo configurar las redirecciones de página de sitio web](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-page-redirect.html) en la *Guía del usuario de Amazon Simple Storage Service*.<br />Tipo: cadena<br />Valor predeterminado: None<br />Restricciones: el valor debe ir precedido de `/`, `http://` o `https://`. La longitud del valor está limitada a 2 KB. |  No  | 

#### Campos del formulario de solicitud de suma de comprobación adicionales
<a name="post-object-additional-checksums"></a>

Al cargar un objeto, puede especificar varias sumas de comprobación que desee usar para verificar la integridad de los datos. Puede especificar un algoritmo de suma de comprobación adicional para que lo use Amazon S3. Para obtener más información sobre los valores de suma de comprobación adicionales, consulte [Comprobación de la integridad de los objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) en la *Guía del usuario de Amazon Simple Storage Service*.


|  Nombre  |  Descripción  |  Obligatorio  | 
| --- | --- | --- | 
|  x-amz-checksum-algorithm  | Indica el algoritmo utilizado para crear la suma de comprobación del objeto. Si se especifica un valor, debe incluir el encabezado de la suma de comprobación correspondiente. De lo contrario, la solicitud generará un error 400.<br />Entre los valores posibles se incluyen: `CRC32`, `CRC32C`, `SHA1` y `SHA256`. | No | 
|  x-amz-checksum-crc32  | Especifica la suma de comprobación CRC32 de 32 bits codificada en base64 del objeto.<br />Este parámetro es obligatorio si el valor de `x-amz-checksum-algorithm` es `CRC32`. | Condicional | 
|  x-amz-checksum-crc32c  | Especifica la suma de comprobación CRC32C de 32 bits codificada en base64 del objeto.<br />Este parámetro es obligatorio si el valor de `x-amz-checksum-algorithm` es `CRC32C`. | Condicional | 
|  x-amz-checksum-sha1  | Especifica el resumen SHA-1 de 160 bits codificado en base64 del objeto.<br />Este parámetro es obligatorio si el valor de `x-amz-checksum-algorithm` es `SHA1`. | Condicional | 
|  x-amz-checksum-sha256  | Especifica el resumen SHA-256 de 256 bits codificado en base64 del objeto.<br />Este parámetro es obligatorio si el valor de `x-amz-checksum-algorithm` es `SHA256`. | Condicional | 

#### Campos del formulario de solicitud específicos del cifrado del servidor
<a name="post-object-sse-specific-request-headers"></a>

El cifrado del servidor es cifrado de datos en reposo. Amazon S3 cifra los datos mientras los escribe en los discos en los centros de datos de AWS y los descifra cuando accede a ellos. Al cargar un objeto, puede especificar el tipo de cifrado del servidor que desea que Amazon S3 use para cifrar el objeto. 

Hay cuatro tipos de cifrado del servidor: 
+ **Cifrado del servidor con claves administradas por Amazon S3 (SSE-S3)**: desde mayo de 2022, todos los buckets de Amazon S3 tienen el cifrado configurado de forma predeterminada. La opción predeterminada para el cifrado del servidor es con SSE-S3. Cada objeto se cifra con una clave única. Como medida de seguridad adicional, SSE-S3 cifra la propia clave con una clave raíz que cambia periódicamente. SSE-S3 utiliza uno de los cifrados de bloques más seguros disponibles, Advanced Encryption Standard de 256 bits (AES-256), para cifrar sus datos.
+ **Cifrado del servidor con claves de AWS KMS (SSE-KMS)**: SSE-KMS se proporciona a través de una integración del servicio de AWS KMS con Amazon S3. Con AWS KMS, tiene más control sobre sus claves. Por ejemplo, puede ver claves distintas, editar las políticas de control y seguir las claves en AWS CloudTrail. Además, puede crear y gestionar claves administradas por el cliente o utilizar Claves administradas por AWS que sean únicas para usted, su servicio y su región.
+ **Cifrado del servidor de doble capa con claves de AWS KMS (DSSE-KMS)**: el cifrado del servidor de doble capa con AWS KMS keys (DSSE-KMS) es similar a SSE-KMS, pero aplica dos capas individuales de cifrado por objeto en lugar de una. 
+ **Cifrado del servidor con claves proporcionadas por el cliente (SSE-C)**: con SSE-C, usted administra las claves de cifrado y Amazon S3 administra el cifrado, al escribir en los discos, y el descifrado, cuando accede a los objetos. 
**nota**  
Si tiene bloqueado el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para el bucket de uso general, recibirá un error HTTP 403 Acceso denegado cuando especifique los encabezados de solicitud de SSE-C al escribir nuevos datos en el bucket. Para obtener más información, consulte [Bloqueo o desbloqueo de SSE-C para un bucket de uso general](https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html).

Para obtener más información, consulte [Protección de los datos con el cifrado del servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

En función del tipo de cifrado del servidor que desee usar, especifique los siguientes campos del formulario. 
+ **Use SSE-S3, SSE-KMS o DSSE-KMS**: si desea usar estos tipos de cifrado del servidor, especifique los siguientes campos del formulario en la solicitud. 


<table>
<thead>
  <tr><th> Nombre </th><th> Descripción </th><th> Obligatorio </th></tr>
</thead>
<tbody>
  <tr><td> <code>x-amz-server-side-encryption</code> </td><td>Especifica el algoritmo de cifrado del servidor que se usará cuando Amazon S3 cree un objeto. Para usar SSE-S3, especifique <code>AES256</code>. Para usar SSE-KMS, especifique <code>aws:kms</code>. Para usar DSSE-KMS, especifique <code>aws:kms:dsse</code>.<br />Tipo: cadena<br />Valor válido: <code>aws:kms</code>, <code>AES256</code>, <code>aws:kms:dsse</code></td><td>Sí</td></tr>
  <tr><td> <code>x-amz-server-side-encryption-aws-kms-key-id</code> </td><td>Si el encabezado <code>x-amz-server-side-encryption</code> tiene un valor válido de <code>aws:kms</code> o <code>aws:kms:dsse</code>, este encabezado especifica el ID de AWS KMS key que se utilizó para cifrar el objeto.<br />Tipo: cadena</td><td>Sí, si el valor de <code>x-amz-server-side-encryption</code> es <code>aws:kms</code> o <code>aws:kms:dsse</code></td></tr>
  <tr><td> <code>x-amz-server-side-encryption-context</code> </td><td>Si <code>x-amz-server-side-encryption</code> tiene un valor válido de <code>aws:kms</code> o <code>aws:kms:dsse</code>, este encabezado especifica el contexto de cifrado del objeto. El valor de este encabezado es una cadena UTF-8 codificada en base64 que contiene pares clave-valor con formato JSON para el contexto de cifrado.<br />Tipo: cadena</td><td>No</td></tr>
  <tr><td> <code>x-amz-server-side-encryption-bucket-key-enabled</code> </td><td>Si <code>x-amz-server-side-encryption</code> tiene un valor válido de <code>aws:kms</code> o <code>aws:kms:dsse</code>, este encabezado especifica si Amazon S3 debe usar una clave de bucket de S3 con SSE-KMS o DSSE-KMS. Si se establece este encabezado en <code>true</code>, Amazon S3 utilizará una clave de bucket de S3 para el cifrado de objetos con SSE-KMS o DSSE-KMS.<br />Tipo: booleano</td><td>No</td></tr>
</tbody>
</table>

**nota**  
Si especifica `x-amz-server-side-encryption:aws:kms` o `x-amz-server-side-encryption:aws:kms:dsse`, pero no proporciona `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 utiliza la Clave administrada de AWS (`aws/S3`) para proteger los datos.
+ **Utilice SSE-C**: si desea administrar sus propias claves de cifrado, debe proporcionar todos los campos del formulario siguientes en la solicitud. 
**nota**  
Si usa SSE-C, el valor de `ETag` que Amazon S3 devuelve en la respuesta no es el MD5 del objeto.


<table>
<thead>
  <tr><th> Nombre </th><th> Descripción </th><th> Obligatorio </th></tr>
</thead>
<tbody>
  <tr><td><code>x-amz-server-side-encryption-customer-algorithm</code> </td><td>Especifica el algoritmo que se utilizará al cifrar el objeto.<br />Tipo: cadena<br />Valor predeterminado: None<br />Valor válido: <code>AES256</code><br />Restricciones: debe ir acompañado de campos <code>x-amz-server-side-encryption-customer-key</code> y <code>x-amz-server-side-encryption-customer-key-MD5</code> válidos.</td><td> Sí </td></tr>
  <tr><td><code>x-amz-server-side-encryption-customer-key</code> </td><td>Especifica la clave de cifrado proporcionada por el cliente con codificación en base64 para Amazon S3 para usar en el cifrado de datos. Este valor se utiliza para almacenar el objeto y, a continuación, se descarta. Amazon no almacena la clave de cifrado. La clave debe ser adecuada para su uso con el algoritmo especificado en el encabezado <code>x-amz-server-side-encryption-customer-algorithm</code>.<br />Tipo: cadena<br />Valor predeterminado: None<br />Restricciones: debe ir acompañado de campos <code>x-amz-server-side-encryption-customer-algorithm</code> y <code>x-amz-server-side-encryption-customer-key-MD5</code> válidos.</td><td>Sí</td></tr>
  <tr><td><code>x-amz-server-side-encryption-customer-key-MD5</code> </td><td>Especifica el resumen MD5 de 128 bits con codificación en base64 de la clave de cifrado, según <a href="http://tools.ietf.org/html/rfc1321">RFC 1321</a>. Amazon S3 usa este encabezado para comprobar la integridad del mensaje y garantizar que la clave de cifrado se haya transmitido sin errores.<br />Tipo: cadena<br />Valor predeterminado: None<br />Restricciones: debe ir acompañado de campos <code>x-amz-server-side-encryption-customer-algorithm</code> y <code>x-amz-server-side-encryption-customer-key</code> válidos.</td><td> Sí </td></tr>
</tbody>
</table>


### Respuestas
<a name="RESTObjectPOST-requests-responses"></a>

#### Encabezados de respuesta
<a name="RESTObjectPOST-requests-responses-response-headers"></a>

Esta implementación de la operación puede incluir los encabezados de respuesta siguientes además de los encabezados de respuesta comunes a todas las respuestas. Para obtener más información, consulte [Encabezados de respuesta comunes](RESTCommonResponseHeaders.md).


|  Nombre  |  Descripción  | 
| --- | --- | 
|  x-amz-checksum-crc32  | La suma de comprobación CRC32 de 32 bits codificada en base64 del objeto.<br />Tipo: cadena | 
|  x-amz-checksum-crc32c  | La suma de comprobación CRC32C de 32 bits codificada en base64 del objeto.<br />Tipo: cadena | 
|  x-amz-checksum-sha1  | El resumen SHA-1 de 160 bits codificado en base64 del objeto.<br />Tipo: cadena | 
|  x-amz-checksum-sha256  | El resumen SHA-256 de 256 bits codificado en base64 del objeto.<br />Tipo: cadena | 
|  x-amz-expiration  | Si se configura una acción `Expiration` para el objeto como parte de la configuración del ciclo de vida del bucket, Amazon S3 devuelve este encabezado.  El valor del encabezado incluye un componente `expiry-date` y un componente `rule-id` codificado en URL.  En el caso de los buckets con versiones habilitadas, este encabezado solo se aplica a las versiones actuales. Amazon S3 no proporciona un encabezado que indique cuándo una versión no actual es apta para su eliminación permanente. Para obtener más información, consulte [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html).<br />Tipo: cadena | 
|  success\_action\_redirect, redirect  | La URL a la que se redirige al cliente en una carga exitosa.<br />Tipo: cadena<br />Antecesor: PostResponse | 
|  x-amz-server-side-encryption  | Algoritmo de cifrado del servidor que se utilizaba al almacenar este objeto en Amazon S3 (por ejemplo, `AES256`, `aws:kms`, `aws:kms:dsse`).<br />Tipo: cadena | 
|  x-amz-server-side-encryption-aws-kms-key-id  | Si el encabezado `x-amz-server-side-encryption` tiene un valor válido de `aws:kms`, este encabezado especifica el ID de la clave de KMS que se utilizó para cifrar el objeto.<br />Tipo: cadena | 
|  x-amz-server-side-encryption-bucket-key-enabled  | Si `x-amz-server-side-encryption` tiene un valor válido de `aws:kms`, este encabezado indica si el objeto está cifrado con SSE-KMS mediante una clave de bucket de S3. Si este encabezado se establece en `true`, el objeto usa una clave de bucket de S3 con SSE-KMS.<br />Tipo: booleano | 
|  x-amz-server-side-encryption-customer-algorithm  | Si se solicitó SSE-C, la respuesta incluye este encabezado, que confirma el algoritmo de cifrado que se utilizó.<br />Tipo: cadena<br />Valores válidos: `AES256` | 
|  x-amz-server-side-encryption-customer-key-MD5  | Si se solicitó el SSE-C, la respuesta incluye este encabezado para verificar la integridad del mensaje de ida y vuelta de la clave de cifrado proporcionada por el cliente.<br />Tipo: cadena | 
| x-amz-version-id | Versión del objeto.<br />Tipo: cadena | 

#### Elementos de respuesta
<a name="RESTObjectPOST-requests-responses-response-elements"></a>


|  Nombre  |  Descripción  | 
| --- | --- | 
|  Bucket  | El nombre del bucket en el que se almacenaba el objeto.<br />Tipo: cadena<br />Antecesor: PostResponse | 
|  ETag  | La etiqueta de entidad (ETag) es un hash MD5 del objeto que se puede utilizar para realizar operaciones `GET` condicionales mediante el uso de la etiqueta de solicitud `If-Modified` con la operación de solicitud `GET`. `ETag` refleja solo los cambios en el contenido de un objeto, no en sus metadatos.<br />Tipo: cadena<br />Antecesor: PostResponse | 
|  Key  | El nombre de la clave del objeto.<br />Tipo: cadena<br />Antecesor: PostResponse | 
|  Location  | El URI del objeto.<br />Tipo: cadena<br />Antecesor: PostResponse | 

#### Errores especiales
<a name="RESTObjectPOST-requests-responses-special-errors"></a>

Esta implementación de la operación no devuelve errores especiales. Para obtener información sobre los errores de Amazon S3 y una lista de códigos de error, consulte [Respuestas de error](ErrorResponses.md).

## Ejemplos
<a name="RESTObjectPOST-requests-examples"></a>

### Solicitud de ejemplo
<a name="ExampleVersionObjectPost"></a>

```
1. POST /Neo HTTP/1.1
2. Content-Length: 4
3. Host: quotes.s3.amazonaws.com
4. Date: Wed, 01 Mar  2006 12:00:00 GMT
5. Authorization: {{authorization string}}
6. Content-Type: text/plain
7. Expect: the 100-continue HTTP status code
8. 
9. {{ObjectContent}}
```

### Respuesta de ejemplo con el control de versiones suspendido
<a name="RESTObjectPOST-requests-examples-sample-response-with-versioning-suspended"></a>

A continuación, se muestra una respuesta de ejemplo cuando el control de versiones del bucket está suspendido:

```
 1. HTTP/1.1 100 Continue
 2. HTTP/1.1 200 OK
 3. x-amz-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
 4. x-amz-request-id: 0A49CE4060975EAC
 5. x-amz-version-id: default
 6. Date: Wed, 12 Oct 2009 17:50:00 GMT
 7. ETag: "1b2cf535f27731c974343645a3985328"
 8. Content-Length: 0
 9. Connection: close
10. Server: AmazonS3
```

En esta respuesta, el ID de la versión es `null`.

### Respuesta de ejemplo con el control de versiones habilitado
<a name="RESTObjectPOST-requests-examples-sample-response-with-versioning-enabled"></a>

A continuación, se muestra una respuesta de ejemplo cuando el control de versiones del bucket está habilitado.

```
 1. HTTP/1.1 100 Continue
 2. HTTP/1.1 200 OK
 3. x-amz-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
 4. x-amz-request-id: 0A49CE4060975EAC
 5. x-amz-version-id: 43jfkodU8493jnFJD9fjj3HHNVfdsQUIFDNsidf038jfdsjGFDSIRp
 6. Date: Wed, 01 Mar  2006 12:00:00 GMT
 7. ETag: "828ef3fdfa96f00ad9f27c383fc9ac7f"
 8. Content-Length: 0
 9. Connection: close
10. Server: AmazonS3
```

## Activos relacionados
<a name="RESTObjectPOST-requests-related-resources"></a>
+  [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 
+  [POST Object](#RESTObjectPOST) 
+  [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 