

# Configuración de pago por solicitante en un bucket
<a name="RequesterPaysExamples"></a>

Puede configurar un bucket de Amazon S3 para que sea un bucket de *pago por solicitante*, de este modo el solicitante paga el costo de la solicitud y la descarga de datos en lugar del propietario del bucket.

Esta sección proporciona ejemplos de cómo configurar el pago por solicitante en un bucket de Amazon S3 mediante la consola y la API REST.

## Uso de la consola de S3
<a name="configure-requester-pays-console"></a>

**Habilitación del pago por solicitante para un bucket de uso general de S3**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets de uso general**.

1. En la lista **Buckets de uso general**, elija el nombre del bucket para el que desea habilitar el pago por solicitante.

1. Seleccione **Properties (Propiedades)**.

1. En **Pago por solicitante**, seleccione **Editar**.

1. Elija **Habilitar** y **Guardar cambios**.

   Amazon S3 habilita el pago por solicitante para su bucket y muestra la **Información general del bucket**. En **Pago por solicitante**, verá **Habilitado**.

## Uso de la API de REST
<a name="RequesterPaysBucketConfiguration"></a>

Sólo el propietario del bucket puede establecer el valor de `RequestPaymentConfiguration.payer` configuración de un bucket en `BucketOwner` (el valor predeterminado) o `Requester`. La configuración del recurso `requestPayment` es opcional. De forma predeterminada, el bucket no es un bucket de pago por solicitante.

Para que un bucket de pago por solicitante vuelva a ser un bucket normal, se usa el valor `BucketOwner`. Por lo general, se usaría el valor `BucketOwner` al cargar datos al bucket de Amazon S3 y luego se establecería el valor en `Requester` antes de publicar objetos en el bucket.

**Para configurar el recurso requestPayment**
+ Use una solicitud `PUT` para establecer el valor `Payer` en `Requester` en un bucket especificado.

  ```
  1. PUT ?requestPayment HTTP/1.1
  2. Host: [BucketName].s3.amazonaws.com
  3. Content-Length: 173
  4. Date: Wed, 01 Mar 2009 12:00:00 GMT
  5. Authorization: AWS [Signature]
  6. 
  7. <RequestPaymentConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  8. <Payer>Requester</Payer>
  9. </RequestPaymentConfiguration>
  ```

Si la solicitud se realiza correctamente, Amazon S3 devuelve una respuesta similar a la siguiente:

```
1. HTTP/1.1 200 OK
2. x-amz-id-2: [id]
3. x-amz-request-id: [request_id]
4. Date: Wed, 01 Mar 2009 12:00:00 GMT
5. Content-Length: 0
6. Connection: close
7. Server: AmazonS3
8. x-amz-request-charged:requester
```

Puede establecer el pago por solicitante sólo en el nivel del bucket. No se puede establecer el pago por solicitante para objetos específicos dentro del bucket.

Puede configurar un bucket para que tenga el valor `BucketOwner` o `Requester` en cualquier momento. Sin embargo, puede haber unos minutos antes de que el nuevo valor de configuración surta efecto.

**nota**  
Los propietarios de bucket que dan URL prefirmadas deben considerarlo cuidadosamente antes de configurar un bucket para que sea pago por solicitante, especialmente si la URL tiene una larga vida útil. Al propietario del bucket se le cobra cada vez que el solicitante usa una URL prefirmada que usa las credenciales del propietario del bucket. 