En esta página se ofrece una descripción general de la función de pagos del solicitante de Cloud Storage.
Introducción
Cada vez que un usuario accede a un recurso de Cloud Storage, como un segmento o un objeto, se aplican cargos asociados a la creación y ejecución de la solicitud. Entre estos cargos se incluyen los siguientes:
Cargos por tratamiento de datos por operaciones, replicación y extracción de datos.
Cargos por uso de red por leer los datos.
Normalmente, se factura al propietario del proyecto del recurso por estos cargos. Sin embargo, si el solicitante proporciona un proyecto de facturación con su solicitud, se factura al proyecto del solicitante. Si habilitas la función de pagos del solicitante en tu segmento, puedes requerir que los solicitantes incluyan un proyecto de facturación en sus solicitudes y, de este modo, facturar al proyecto del solicitante. Habilitar la opción "El pagador es el solicitante" es útil, por ejemplo, si tienes muchos datos que quieres poner a disposición de los usuarios, pero no quieres que se te cobre por su acceso a esos datos.
Cargos no cubiertos
Los cargos por almacenamiento de datos, incluidos los cargos por eliminación anticipada, se aplican siempre al proyecto que contiene el segmento, aunque esté habilitada la opción Paga el solicitante.
Restricciones
Se aplican las siguientes restricciones al usar la opción de pago por el solicitante:
- No puedes usar un segmento que tenga habilitada la opción Paga el solicitante para importar y exportar datos de Cloud SQL.
- No puedes usar un segmento en el que esté habilitada la función de pagos del solicitante para exportar datos de Pub/Sub.
Requisitos de uso y acceso
Para habilitar los pagos del solicitante en un segmento, habilita la marca de metadatos en el segmento. Una vez habilitado, solo los siguientes usuarios podrán acceder al contenedor o a su contenido:
Los solicitantes que incluyan un proyecto de facturación en su solicitud. El proyecto utilizado en la solicitud debe estar en buen estado y el usuario debe tener un rol en el proyecto que contenga el permiso
serviceusage.services.use
. El rol Consumidor de uso de servicios contiene el permiso necesario.Los solicitantes que no incluyan un proyecto de facturación, pero que tengan el permiso
resourcemanager.projects.createBillingAssignment
para el proyecto que contiene el segmento. El rol Gestor de proyectos de facturación incluye el permiso necesario. Los cargos por acceso asociados a estas solicitudes se facturan al proyecto que contiene el contenedor.
Todas las demás solicitudes al contenedor fallarán y se devolverá un error 400 UserProjectMissing
.
Además de estos requisitos, el solicitante debe tener permiso suficiente para realizar la acción solicitada. Por ejemplo, un usuario que proporcione un proyecto de facturación válido en su solicitud no podrá subir objetos al contenedor a menos que también tenga permiso explícito para hacerlo, como el permiso storage.objects.create
para ese contenedor o para el proyecto que lo contiene.
Cuando inhabilite la opción Paga el solicitante, debe incluir un proyecto de facturación en su solicitud o tener el permiso resourcemanager.projects.createBillingAssignment
.
Operaciones facturadas por la fuente
Las operaciones que tienen un segmento de origen y un segmento de destino, como las copias o las reescrituras, se facturan al proyecto que contiene el segmento de origen. En la mayoría de los casos, como las llamadas directas mediante las APIs JSON y XML, solo tienes que incluir un proyecto de facturación si el contenedor de origen tiene habilitado Paga el solicitante.
En algunos casos, como gcloud storage cp
con una marca --no-clobber
, debe incluir un proyecto de facturación si la función de pagos del solicitante está habilitada en el segmento de origen, en el de destino o en ambos. Esto se debe a que estas operaciones hacen llamadas a los dos cubos (el de origen y el de destino) durante la acción.
Operaciones de solicitudes múltiples
En las operaciones que requieren varias solicitudes para completarse, el uso de billing projects en sus solicitudes tiene los siguientes comportamientos:
En el caso de las subidas reanudables, solo la primera solicitud debe incluir un proyecto de facturación, y se aplica a toda la subida. Los proyectos de facturación especificados en solicitudes posteriores se ignoran.
En el caso de las reescrituras con la API JSON y las subidas multiparte de la API XML, cada solicitud puede usar un proyecto de facturación diferente, y un proyecto de facturación especificado en una solicitud anterior no se aplica a las solicitudes posteriores.
Facturación
Los cargos asociados a la inclusión de un proyecto de facturación en tu solicitud no aparecen por separado en tu facturación. Por ejemplo, supongamos que haces varias descargas de un segmento con la función de pagos del solicitante habilitada y usas el proyecto my-project
como proyecto al que se le facturará la solicitud. Si my-project
también contiene un contenedor desde el que realizas descargas, en tu factura solo se mostrarán los cargos totales de las descargas combinadas. No distingue entre las descargas de tu propio contenedor y las del contenedor de pago del solicitante.
Si quieres distinguir entre los cargos de tus propios recursos de Cloud Storage y los cargos derivados de incluir proyectos de facturación en tus solicitudes, debes crear un proyecto que no contenga recursos de Cloud Storage. De este modo, el proyecto se dedicará a hacer solicitudes a recursos de otros proyectos, como los segmentos de pago del solicitante.