En esta página, se describe cómo configurar la función Pagos del solicitante y se presenta un ejemplo de cómo realizar una solicitud en un bucket que tiene habilitada esta función.
Configura los pagos del solicitante
En las siguientes secciones, se muestra cómo activar y desactivar los pagos de los solicitantes y cómo verificar si el pago de los solicitantes está habilitado en un bucket.
Requisitos previos
Debes tener el permiso
storage.buckets.get
, que te permite obtener el estado de los pagos del solicitante de un bucket y que también es necesario para inhabilitar y habilitar los pagos del solicitante con la consola de Google Cloud o Google Cloud CLI.Cuando inhabilitas o habilitas los pagos del solicitante, debes tener el permiso
storage.buckets.update
.Si inhabilitas los pagos del solicitante, debes incluir un proyecto de facturación en la solicitud o tener el permiso
resourcemanager.projects.createBillingAssignment
. Consulta la sección Requisitos de uso y acceso en Pagos del solicitante para obtener más información.
Los permisos se otorgan a los usuarios a través de funciones. Por ejemplo, los usuarios con la función de Administrador de almacenamiento tienen todos los permisos storage.buckets
anteriores. Las funciones se pueden otorgar en el proyecto que contiene el bucket.
Configurar pagos del solicitante
Sigue estos pasos para habilitar o inhabilitar los pagos del solicitante en un bucket:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, busca el que deseas configurar y ubica la columna de Pagos del solicitante.
El valor en la columna indica el estado actual de los pagos del solicitante para ese bucket.
Haz clic en el estado actual de los pagos del solicitante para el bucket deseado.
En la ventana que aparece, haz clic en Activar o Desactivar, según el estado que deseas configurar para los pagos del solicitante.
Una vez que se habilitan, aparece un cuadro verde y Activados en la columna Pagos del solicitante del bucket. Cuando se inhabilita, aparecen un cuadro gris y la opción Desactivados en la columna.
Para obtener información acerca de cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Usa el comando gcloud storage buckets update
con la marca adecuada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Donde:
BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
FLAG
se usa--requester-pays
para habilitar los pagos del solicitante o para a inhabilitar los--no-requester-pays.
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
Updating gs://my-bucket/... Completed 1
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se habilitan los pagos del solicitante en un bucket:
En el siguiente ejemplo, se inhabilitan los pagos del solicitante en un bucket:
APIs de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo JSON que contenga la siguiente información:
{ "billing": { "requesterPays": STATE } }
En el que STATE es
true
ofalse
.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Dónde:
JSON_FILE_NAME
es la ruta de acceso del archivo JSON que creaste en el paso 2.OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
API de XML
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo XML que contenga la siguiente información:
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
En el que STATE es
Enabled
oDisabled
.Usa
cURL
para llamar a la API de XML con una solicitud de bucketPUT
y un parámetro de string de consultabilling
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Aquí:
XML_FILE_NAME
es la ruta de acceso del archivo XML que creaste en el paso 2.OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
Verifica si los pagos del solicitante están habilitados
Para verificar si los pagos del solicitante están habilitados en un bucket, sigue estos pasos:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de depósitos, el estado de los pagos del solicitante de cada grupo se encuentra en la columna Pagos del solicitante.
Si están habilitados, el estado está en verde y aparece Activados.
Línea de comandos
Usa el comando gcloud storage buckets describe
con la marca --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(requester_pays)"
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket cuyo estado deseas ver. Por ejemplo, my-bucket
.
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
requester_pays: true
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
APIs de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketGET
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Aquí:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
API de XML
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de XML con una solicitud de bucketGET
y un parámetro de string de consultabilling
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Aquí:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
Accede a los buckets de pagos del solicitante
En el siguiente ejemplo, se muestra cómo incluir un proyecto de facturación para que puedas descargar un objeto almacenado en un depósito de pagos del solicitante. Usa un procedimiento similar para realizar otras solicitudes en el bucket de pagos del solicitante o en los objetos que contenga. Consulta los requisitos de acceso a los pagos del solicitante para ver las consideraciones de los requisitos previos.
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que contiene el objeto que quieras descargar.
En la ventana que aparece, usa el menú desplegable a fin de seleccionar un proyecto para la facturación.
Marca la casilla de verificación a fin de confirmar que estás autorizado para de usar el proyecto seleccionado con fines de facturación.
Haz clic en Guardar.
Descarga el objeto como lo harías normalmente.
Para obtener información acerca de cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Usa la marca --billing-project
en tu solicitud:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
Aquí:
BUCKET_NAME
es el nombre del depósito que contiene el objeto que se descargará. Por ejemplo,my-bucket
OBJECT_NAME
es el nombre del objeto que se descargará. Por ejemplo,pets/dog.png
SAVE_TO_LOCATION
es la ruta local en la que guardas tu objeto. Por ejemplo,Desktop/Images
PROJECT_IDENTIFIER
es el ID o el número del proyecto que se facturará. Por ejemplo,my-project
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
APIs de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
En tu solicitud, incluye el parámetro de string de consulta
userProject
configurado en el ID del proyecto que se facturará:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.SAVE_TO_LOCATION
es la ubicación en la que deseas guardar tu objeto. Por ejemplo,Desktop/dog.png
.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto que deseas descargar. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.PROJECT_IDENTIFIER
es el ID o el número del proyecto que se facturará. Por ejemplo,my-project
API de XML
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
En tu solicitud, incluye el encabezado
x-goog-user-project
configurado en el ID del proyecto que se facturará:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.PROJECT_ID
es el ID del proyecto que se facturará. Por ejemplo,my-project
.SAVE_TO_LOCATION
es la ubicación en la que deseas guardar tu objeto. Por ejemplo,Desktop/dog.png
.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto que deseas descargar. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.
¿Qué sigue?
- Obtén más información sobre los pagos del solicitante.
- Haz que los datos estén disponibles públicamente.